cocoa - 使用用户信息条目记录核心数据实体属性

标签 cocoa core-data

我们正在寻找一种记录核心数据实体的方法。到目前为止,我提出的唯一真正的选择是:

  1. 使用 UML 或其他一些标准在外部记录
  2. 为每个实体创建 NSManagedObject 子类并使用代码注释
  3. 使用用户信息字典创建一个包含字符串评论的键值对

选项 1 感觉像是太多的额外工作,而且 99% 的情况下几乎肯定会过时。

选项 2 感觉比选项 1 更自然、更正确。这里最大的缺点是,如果使用 Xcode 重新生成此模型类,这些注释可能会丢失。

选项 3 感觉比选项 2 稍微不太正确,但具有增加元数据提取自动化可能性的额外优势。例如,在我们的一款应用程序中,我们需要密切关注设备本地存储的内容以及同步到 iCloud 的内容。使用用户信息字典,可以很容易地自动创建某种形式的工件,可以在内部和外部(由客户端)检查其合规性

所以我的问题是为此目的使用用户信息字典是否不合适?我还缺少其他选项吗?

最佳答案

我每次都使用选项2。如果您查看核心数据模型(something.xcdatamodeld 或 Something.xcdatamodel),您将看到如下图所示的内容。

core data entity in XCode

您可以将您的实体绑定(bind)到您想要的任何类,然后将注释放在那里。如果您将实体名称与类名称保持相同,这会有所帮助,以使您所做的事情显而易见。

此外,这还使您能够添加自动化。您可以通过创建自定义 getter 和 setter(访问器方法)以及自定义 description 方法来实现此目的。

关于cocoa - 使用用户信息条目记录核心数据实体属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9565071/

相关文章:

objective-c - 如何处理临时 NSManagedObject 实例?

cocoa - 在 Cocoa 桌面应用程序中创建具有多个选项卡的选项卡 View 的推荐做法是什么

ios - 使用嵌套的 NSPredicate SUBQUERY

swift - 如果从 Core Data SwiftUI 中删除,则删除本地通知

ios - 使用 Storyboard时如何将 NSManagedObjectContext 传递给 View Controller (iOS)

ios - 如何获取相关实体的特定属性?

objective-c - Mac 相当于 .Net SerialPort.ReadExisting()

cocoa - 为什么当我切换 View 时,acceptFirstResponder 会被调用两次?

objective-c - 如何将数据附加到 Cocoa 中的 NSmutableData

cocoa - 如何在没有 NSTextView 的情况下从按键事件中捕获 Unicode