我在Interface Builder中有两个ArrayControllers绑定到两组Core Data实体。这两个实体具有父/子关系。我有一个NSTableView绑定到NSTabView的第一个选项卡上的父实体的ArrayController。 NSTabView的第二个选项卡有另一个NSTableView,它绑定到子实体的ArrayController。子ArrayController的内容集绑定到具有Controller Key: selection
和Model Key Path: <name of child relationship>
我要做的是允许用户从父母列表中选择一个实体,然后切换标签并使用子列表。
发生的事情是,如果我使用空的storeata文件启动应用程序,我可以添加父项,但不能添加子项。如果我添加一些父母,然后重新启动应用程序,我可以添加孩子。但是,子项列表似乎不会通过第一个选项卡上的哪个父项进行过滤。
我可以解释这种行为的唯一方法是,如果ArrayController的选择不是跨标签持久存在,那么情况呢?还有其他我想念的东西吗?
答案 0 :(得分:0)
这是可能的。我自己从未这样做过,但听起来你需要进行实验和观察。如果没有其他设置NSTabViewDelegate http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/TabView/Tasks/UsingTabViewDelegate.html并在选择标签视图项之前和之后询问控制器所选对象。
我自己很好奇并亲自查看了文档,但它似乎并没有真正描述选择时视图本身会发生什么。