0

抱歉,如果这看起来是一个愚蠢的问题 - 我是 Objective-C 和 Cocoa 的业余爱好者,而对于 Core Data 的使用则更不了解。

所以情况是这样的:我有一个 NSOutlineView,我已经使用 NSTreeController 手动填充了一些项目。我现在需要做的是获取我的核心数据实体之一中的项目并将它们附加到 NSOutlineView 的当前内容中。

显然,这超出了绑定的能力,因此需要以编程方式完成。我该怎么办?我假设我需要进行一次提取,然后遍历返回的项目,将每个项目添加到大纲视图中。它是否正确?如果是这样,任何人都可以展示如何做到这一点的例子吗?

谢谢!

4

1 回答 1

0

创建一个带有 NSPredicate 的 NSFetchRequest ,它只获取那些“父级”为 nil 的对象(根/顶级对象)。按一些有意义的属性对它们进行排序(因为获取结果将是一个无序的集合 - 一个 NSSet)。然后实现 NSOutlineViewDataSource 以混合/混合您认为合适的信息,因为它提供给大纲。

警告:最好缓存您的结果,观察更改的上下文并在每次更改时刷新缓存。

于 2010-08-25T11:56:57.257 回答