当你想在你的代码中找到一个错误时,这很难;当你认为你的代码是不会有错误时,这就更难了。

目标C—以编程方式将核心数据实体中的项放入NSOutlineView?

admin 104℃
很抱歉,如果这看起来像一个愚蠢的问题-我是一个业余爱好者,当涉及到objective-c和cocoa时,更不了解核心数据的使用。

现在的情况是:我有一个nsoutlineview,我已经用一个nstreecontroller手动填充了一些项。我现在需要做的是将这些项目放入我的一个核心数据实体中,并将它们附加到nsoutlineview的当前内容中。

显然这超出了绑定的能力,因此需要通过编程来完成。我该怎么办?我假设我需要进行一次提取,然后遍历返回的项,将每个项添加到outline视图中。这是对的吗?如果是这样的话,有人能举个例子说明这是怎么做到的吗?

谢谢!

使用nspredicate创建nsfetchrequest,该nspredicate只获取'父'为nil(根/顶级对象)的对象。根据一些有意义的属性对它们进行排序(因为提取结果将是无序的集合-nsset)。然后,实现nsoutlineewdatasource,根据您认为合适的方式混合/混合提供给大纲的信息。

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

转载请注明:我的代码 » 目标C—以编程方式将核心数据实体中的项放入NSOutlineView?