如何将 NSArrayController 绑定到另一个具有 NSSet 的 NSArrayController

How to bind NSArrayController to another NSArrayController were it has NSSet

我正在开发 OS X 应用程序,其中我有一个像这样的核心数据模型:

电影<--->>剧院

我已将 NSArrayController 绑定到 NSPopUpButton 中的电影实体,当我进行选择时,我应该会看到正在播放电影的剧院列表。

在我的电影里classheader:

@property (nonatomic, retain) NSSet *theaters;

和我的剧院class:

@property (nonatomic, retain) NSString * theaterName;

我尝试将绑定设置为 "Content Set",但是当我在 NSPopUpButton(电影)中切换选择时,仅加载初始集并且不更改内容。

大家知道为什么总是显示与第一个选择相关的内容吗?

以下对我有用:

首先NSArrayController:设置其实体为Movie。将其绑定到 NSManagedObjectContext.

第二个NSArrayController:将其实体设置为Theatre。将其绑定到 NSManagedObjectContext,并将其 Content Set 绑定到 moviesArrayController.selection.theatres

然后我有两个弹出窗口: 第一个的内容绑定到 moviesArrayController.arrangedObjects。它的 selectedIndex 也绑定到 moviesArrayController.selectionIndex。 第二个弹出窗口只是绑定了影院 controller.arrangedObjects.