添加一个NSArrayController
并将其连接到您的Group
实体(称为GroupController
)。选择左侧源视图的表格列,然后转到绑定检查器。选中Value
部分,并通过选中框将其绑定到GroupController
。通过将Controller Key
设置为arrangedObjects
和Model Key Path
至title
来完成绑定。
添加另一个NSArrayController
(PersonsController
)。转到绑定检查器并选择名为Content Set
的部分。从下拉列表中选择您的GroupController并选中复选框以将PersonsController
绑定到GroupController
。完成设置Controller Key
到selection
和Model Key Path
到persons
结合。这将检索连接到所选组的人到PersonsController
然后,您可以绑定在你的窗口到PersonsController的右手边表视图。将表的每一列连接到PersonsController(firstName,lastName)。
可编辑可以在你的个人资料实体表视图的列级设置。
编辑:哎呀,刚才重读你的问题,看到你想要一个NSTreeController。我认为你可以用一个NSTreeController替换GroupController - 这是一个普通的NSArrayController。我在您的Group实体中看不到任何层次结构。 Here是一个很好的教程,其代码为支持具有层次结构的实体的树控制器。
EDIT2:另一个很好的教程是苹果公司的SourceView例子。它显示了如何使用NSTreeController设置源视图。它的数据源绑定到基于文件的NSDictionary,但使用其他教程和我的答案中所需的绑定的描述,你应该能够得到这个工作。
嗯,我不一定需要一个NSTreeController,但我想使用一个源列表来显示我的Group对象,因为我想让他们上面的“GROUPS”标题。这可能使用NSArrayController吗?本教程没有提到任何关于此的内容。 – Rits
不,AFAIK我知道你必须使用NSOutlineView和一个NSTreeController。我使用该教程构建了我的主/细节应用程序,效果很好。该教程实际上使用了两个控制器:一个NSArrayController检索顶层项目(使用谓词parent == nil),然后使用NSTreeController来显示实际的树。 – Roger