我有一个使用核心数据的应用程序。它的模型有3个实体,全部通过一对多关系连接,如下所示:将对象添加到绑定的NSTableView - 核心数据应用程序
| E1 | < - >> | E2 | < - >> | E3 |
我的用户界面本质上是一个3向垂直分割窗格,每个窗格都有一个tableview。它的工作方式是每个窗口递增1层,实质上允许用户从E1对象'钻取'到E3对象,全部通过关系链接,类似于OSX finder中的选项。
每个表都由一个NSArrayController填充,从相关实体获取数据,以及在前一个“下钻”窗口中选择的内容。如果我简单地将一个按钮连接到数组控制器的addObject方法,则这一切都可以正常工作,但是它创建的新对象是一个空行,我必须手动填写。
我已经连接了添加按钮来打开'Open Dialogue',它允许用户选择文件。然后,我遍历返回的NSURL数组,并将文件信息添加到核心数据模型的E3实体。我打电话保存,但没有出现在用户界面中。我猜测这是因为我添加的对象无法知道它属于哪个E2,因此没有显示。
有没有办法将对象添加到具有关系的核心数据模型?例如,我可以看到在E2中选择了什么对象,然后添加与此关系的对象。我希望我已经明确了这一点。任何想法或建议都更受欢迎!