检索所有 NSTreeController 的对象
Posted
技术标签:
【中文标题】检索所有 NSTreeController 的对象【英文标题】:Retrieving All Of An NSTreeController's Objects 【发布时间】:2009-09-22 06:24:04 【问题描述】:一点背景信息,我正在使用带有核心数据的 NSOutlineView。 这就是我想要做的:
从大纲视图树控制器中检索所有对象。
从每个对象中检索“名称”属性(核心数据)作为字符串。
最后将所有对象的'name'属性的字符串存储在一个NSArray中。
更多帮助,这里是我的核心数据模型的图片,http://snapplr.com/xqxv
这可能吗?
【问题讨论】:
【参考方案1】:你不需要去treeController获取你的对象,你可以直接查询你的ManagedObjectContext。
您实际上创建并执行了一个获取请求,该请求返回一个 NSArray。您也在此过程中设置了 fetch 的谓词,因此如果您使用它来尝试过滤您的数据,这也很有用。
这是来自 Apple 文档Fetching Managed Objects 的示例。
【讨论】:
哇!谢谢!一个问题,如何只检索每个对象的“名称”属性的字符串? 您有一个对象数组(步骤1)枚举对象以获取每个对象的名称属性(步骤2)将每个结果附加到数组中(步骤3) 到目前为止,我有这个代码,snapplr.com/wxvg,它将获取托管对象。如何枚举它们以获取 name 属性? 您是否查看过 NSArray 文档,看看是否有帮助?甚至还有一种方法可以为您压缩第 2 步和第 3 步。 我放弃了-NSArray *namesArray = [array valueForKey:@"name"];
以上是关于检索所有 NSTreeController 的对象的主要内容,如果未能解决你的问题,请参考以下文章
给定模型对象,如何在 NSTreeController 中找到索引路径?
从 NSTreeController 中删除具有特定标题的对象
观察 NSTreeController 绑定的核心数据实体以进行插入/删除
NSTreeController/NSOutlineView 失去选择