【问题标题】:CoreData sorted entities - performanceCoreData 排序实体 - 性能
【发布时间】:2012-03-14 06:35:16
【问题描述】:
我希望将我的 CoreData 实体存储在排序的数组/集合中,这样我就不必每次使用 NSSortDescriptor 进行获取时都对其进行排序。在 iOS 4 及更低版本中,我相信这是我唯一的选择,但每次都对整个数据集(不仅仅是获取的结果)进行排序 - 这听起来非常低效,即使对于 ~10k 的相对较小的数据集也是如此。
在 iOS 5 中有排序集;我想知道性能提升是否足以保证放弃对 iOS 4 的支持?有什么经验可以分享吗?
【问题讨论】:
标签:
ios
core-data
ios5
ios4
【解决方案1】:
您不需要对结果进行排序 - 您可以进行 fetch 并将 sortOrderings 传递给 fetch。如果您需要遍历关系,您可以在父节点上添加自己的方法,对子节点进行原始获取,在父关系为 self 的位置添加谓词,添加您自己的排序并返回一个不错的 NSArray : )
我的意思是,如果你可以强制使用 iOS5,那很好,但如果你需要保留 iOS 4,让数据库进行排序是非常高效的。