我有NSOutlineView
作为我的应用程序的源列表,我的数据模型是使用Core Data完成的。我想使用绑定(如果可能的话)将这些东西粘合在一起,如下所示:
我的模型中有三个主要实体,为了举个例子,我们称之为“商店”,“汽车”和“人物”。
我的目标是让大纲视图有3个“组”(可扩展节点,如iTunes中的PLAYLISTS),每个组代表并列出我的一个实体,而且我的窗口底部还有三个按钮到“添加商店”,“添加汽车”等我想要连线以执行该操作。
到目前为止,在我的窗口的nib中,我有一个TreeController,它绑定到我的窗口控制器的NSManagedObjectContext实例,但我无法弄清楚如何从TreeController正确绑定和填充大纲视图。
绑定有可能吗?我已经看过一个教程,其中创建了第二个托管对象模型,其中包含了大纲节点的实体,但是文章上的一些评论说这是一个坏主意。我不确定如何继续,任何帮助都会很精彩!
答案 0 :(得分:2)
尝试Cocoa Bindings Programming topics: Providing Controller Content section
我所做的是为我的实体创建自定义类,并为它们添加了isLeaf
属性。对于顶级(商店,汽车,人),我返回no
。对于叶节点(汽车,人等),我返回YES
。
顶级需要与叶节点建立多对多的关系,我称之为children
。
在Interface Builder中,我将NSTreeController
的模式设置为Entity
,名称为:Groups
。它绑定到managedObjectContext。在Key Paths
我将Children
属性设置为children
,将Leaf
设置为isLeaf
。