2

我正在学习 Core Data,目前只使用 Interface Builder 和 XCode 数据模型(遵循 Aaron Hillegass Cocoa 书籍示例)。

我有一个 MVC 应用程序和核心数据设置并在界面生成器中工作(还没有手写代码)。我已经设置了各种数组控制器、视图和按钮来添加和删除对象以及编辑数据并确定对象之间的关系。

但是,我的对象模型是严格分层的父子(和孙子),并且每个关系都是一对多的。因此,当我添加一个子对象(或孙子对象)时,我想自动将主 tableView 中当前选择的父对象分配为新子对象的父对象。

这在界面构建器中是否可行,或者这是我必须开始编写自己的方法的地方?

关于下一步我应该采取的任何指示或如何弄清楚自己非常感谢。我只是有点卡住,找不到相关的教程或参考。

如果我描述我的文档窗口可能会有所帮助。它有两个带有添加/删除按钮的 tableViews。右侧的 tableView 显示了左侧 tableView 中选择的父对象的子对象的 NSSet。我希望右侧的添加按钮添加一个新对象并自动使其成为所选父对象的子对象,以便它出现在右侧的 tableView 中。

目前,我可以在子对象的 arrayController 上看到的唯一方法是 add: 和 remove: 但当然它们不会将新对象连接到当前选择的父对象。我是否需要将自己的 (IBAction) 方法添加到父对象,即 addChildObject:?或者是否有一种内置方法可以根据父子关系在 CoreData 中自动添加子项?

4

1 回答 1

0

问题解决了。我找到了一个教程(虽然有点过时),准确地描述了我正在尝试做的事情:

https://developer.apple.com/cocoa/coredatatutorial/index.html

在认真仔细地遵循每一步之后,我意识到我做的一切都是正确的,我只是错过了一个绑定:我只设置了子数组控制器的内容集,而不是它的托管对象上下文(给文件的所有者)。这是我的添加按钮没有添加新子对象的唯一原因!微不足道的错误,但是当您不确定时,您会质疑自己的整个方法,而不是寻找简单的错误。对于必须阅读此内容的任何人感到抱歉,但也许该教程的链接会对某人有所帮助。

于 2012-10-21T02:38:19.783 回答