我正在使用 Core Data 创建一个基于文档的项目,并且遇到了对我来说可能只是一个概念性问题,因为虽然我对 Cocoa 并不陌生,但这是我第一次尝试使用 Core Data。我想要完成的事情应该相对简单:随着每个新文档的启动,我想要一个创建的模型对象的新实例,用作“根”对象。
我所做的是将 NSObjectController 添加到我的 xib,将其模式设置为实体名称(提供正确的实体名称),选中“准备内容”,并将其托管对象上下文绑定到文件的所有者, managedObjectContext 作为模型键路径. 为了测试这一点,我将主窗口的标题绑定到对象控制器,控制器键作为选择,模型键路径作为实体中的键之一。
我知道我可以通过编程方式创建我的根对象,但我正在尝试采用 Apple 推荐的中介模式。我已经在“采用中介者模式”部分下看到了部门员工教程中的说明,详细的步骤正是我相信我所做的。
有什么想法吗?
编辑:也许我没有正确说明问题。模型是在 Core Data 中创建的,并且根据我的需要设置关系(使用“根”、子节点和叶子节点,使用一对一父节点关系、多子节点关系和 isLeaf 布尔属性)。我的问题是确保每次启动新文档时都将此根对象实例化为单例。根对象和当前文档之间应该存在 1:1 的关系,该根对象必须始终存在并且无需任何用户交互即可创建它,并且创建并附加到根的子节点是数据对象由应用程序使用和操作。
我已经以编程方式实现了上述功能,但为了符合核心数据原则,我希望完全采用中介者模式,而不是在我的应用程序逻辑中管理任何数据对象的创建。