嘿,
我正在用 Xcode 写一些东西。我使用 Core Data 来实现持久性,并使用 Cocoa Bindings 将视图和模型链接在一起;几乎是你普通的 Core Data 应用程序。
我的 Xib 中有一个数组控制器 (NSArrayController)。按照惯例,它的 managedObjectContext 绑定到 AppDelegate,并跟踪实体。到目前为止,一切都很好。
现在,这个 NSArrayController 的“内容集”投标限制了它的内容集(如你所料),通过来自另一个 NSArrayController (otherAc.selection.detailsOfMaster) 中的选择的 keyPath。这是实现主从关系的常用方法。
我想在运行时使用其他控件可变地更改密钥路径。这样,我将返回一个包含其他几个内容集的内容集,这些内容集都是高级的,并且超出了 Interface Builder。
为了实现这一点,我认为我应该将内容集绑定到我的 AppDelegate。我试过这样做,但不知道要实现什么方法。如果我只是创建 KVC 方法(objectSet、setObjectSet),那么我可以在 contentSet 方法中为 Array Controller 提供一个 Content Set。
但是,我认为我没有正确绑定它,因为它不会“刷新”。我是绑定新手;当其他事情(例如主 NSArrayController 中的选择)发生变化时,我需要实施什么来正确更新内容集?