1

我对如何填充一个绑定到两个独立实体的人的理解是否正确,NSOutlineview这些NSTreeController实体之间有关系:

NSTreeController有一个 managedObjectContext 绑定到我的appDelegate. 我Object Controller为此是一个名为clients的实体。MyNSOutlineViews tableColumn绑定到NSTreeController(和clientskey path clientCompanyNSOutlineView ,这会用公司名称列表正确填充 my 。

我的第二个实体projects有一个名为projectParent的关系属性,它反向绑定到客户端中的一个名为clientChild的属性。通过这种关系,我希望我的子项由以相关clientCompany作为父项NSTreeController的相关项目条目组成。

为了尝试这个,我在 my 中创建了clientChild,然后将同一控制器的 my 绑定到我的客户实体clientChild ,并设置为“已选择”。children key pathNSTreeControllercontent set key pathController Key

这种方法和各种组合似乎不起作用并产生不同的错误。只有当我省略了最后一个 ' content set' 绑定步骤时,程序在启动时运行时不会出现错误,并且在大纲视图条目旁边有打开/关闭图标,这表明它像我想要的那样填充。在尝试打开其中一个条目时,它会产生一个错误,提示我的项目实体不符合我的clientChild属性的 KVC。我一遍又一遍的绑定,似乎找不到问题。

4

1 回答 1

1

经过一周多的阅读和研究,我相信答案是这是不可能的。这让我有点吃惊——考虑到 Interface Builder 和 NSTreeController 提供的所有节省时间的快捷方式,我认为我的情况很常见,可以在 Interface Builder 或内置类中实现。

我没有在创建自己的课程来做我想做的事,希望这个答案对任何正在搜索这个但找不到很多答案的人有用(谷歌没多大用处)。

于 2011-03-03T21:36:34.533 回答