好的,这是我的问题。
我会使用 CoreData + Source List + NSTreeController 来创建类似于 Finder(或 iTunes,如果您愿意)的源列表的东西。
我的问题是我的源列表中的内容并不完全来自 CoreData。例如,我有一个名为“来自核心数据的数据”的部分(根),它使用 CoreData 填充,但我也有一些在运行时创建的“假”部分(即“收藏夹”部分)。
出于这个原因,我认为使用实体将 OutlineView 和 NSTreeController 直接绑定到 CoreData 是不可行的,我必须使用中间的东西,比如 NSMutableArray,我在开始时填充来自 CoreData 的数据和使用 ad- 的“假”部分成员的 hoc 类(如 Apple 的“SourceView”示例)。这是第一个问题:(1)我这样做对吗?
我的第二个问题是关于这个 NSMutableArray。假设使用这个数组可能是一个解决方案,我想知道哪个是填充数组的正确方法。在示例“SourceView”中,中间数组是使用 NSTreeController (insertObject:) 在运行时填充的,但是另一种解决方案我在想的是继承 NSMutableArray 并直接更改数组的内容。(2)我是否以这种方式破坏了MVC?
问问题
647 次
1 回答
0
将持久节点与仅在运行时存在的临时节点混合的一种方法是将 NSInMemoryStoreType 存储添加到您的 persistentStoreCoordinator。这是有关如何执行此操作的教程:http: //simplyhacking.com/source-list-with-core-data.html
于 2013-02-10T11:08:17.253 回答