我刚开始在iPhone SDK上使用Core Data,并且正在考虑保存有序列表,例如数组。但是,核心数据中的关系在检索时表示为集合。这使得难以保存对象放置的顺序。

一个很好的例子是当允许对项目进行重新排序时,表格 View 中的数据项目。一个简单的解决方案是在被管理对象上包括一个索引属性。

考虑以下层次结构:

文档 DataItem

不同的Document实例可以链接到相同的DataItem,并且每个Document都可以引用一个或多个DataItem。因此,在DataItem中具有索引属性会导致该实例的重用性降低,即您只能为一个Document实例保存索引。

关于如何在表格 View 中整齐地呈现层次结构,但仍保持每个DataItem实例可重用的任何想法?谢谢!

最佳答案

一个好的解决方案是在Document中保留一个单独的数据结构,以将DataItems映射到表 View 中的某个位置。除了允许同一DataItem存在多个位置外,如果您需要将DataItem添加到多个文档中,此解决方案也可以使用。

当时,当我研究保持核心数据对象有序的不同策略时,我发现了一个blog post,它非常详细地说明了如何执行此操作,包括示例代码。

关于objective-c - 核心数据中的索引关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1082137/

10-10 21:01