1

这有点奇怪,但我想在NSManagedObjectsCore Data 之外存储一个数组。

Core Data 正在管理我的模型的所有属性和关系。一种这样的关系是与所有AuthorBooks。有时以特定顺序了解相同的列表很有用,因此我已将booksByDate(例如)添加到NSManagedObject作者。

因为排序描述符被证明是昂贵的,我实现了一个缓存,使用一个 iVar on Author。这对我遇到的一些滞后的 UI 问题有很大帮助。但是缓存只有在第一次加载后才有用,所以当我的应用程序启动时,我现在去告诉每个Author人缓存它的booksByDate. 这使我的启动时间增加了几秒钟,但一旦应用程序运行,性能就会大大加快。

我想减少启动时间。我正在试验的一个领域是以某种方式存储每个Author缓存的booksByDate。在启动时,不是告诉每个Author使用昂贵的排序描述符生成它的缓存,我可以将每个存储的缓存传递给它是正确的Author

我如何存储这些缓存以便它们在执行之间持续存在?

4

1 回答 1

0

我认为最好的选择是为每本书设置一个索引成员。当您插入一本新书时,只需遍历该书的作者书籍列表并为该书的索引设置适当的值。这样,每次您索要书籍时,您都可以根据该索引进行排序。这将比按日期比较快得多。

于 2012-10-22T22:20:30.770 回答