我想知道,但从来没有找到任何文档,首先,什么是获取 CD 对象的有效方法。在我的应用程序中,我必须在我的 NSMOC 中存储数千个对象,并且需要尽快获取它们。使用 NSPredicate 是获取符合我想要的最佳方式的实体的最佳方式吗?其次,如果我想保留一个“存档”类型的东西,我存储了数千个不经常使用的对象,但我需要它们,是否有可能拥有两个 NSMOC,如果是,它会加快进程吗?获取实体?
谢谢
我想知道,但从来没有找到任何文档,首先,什么是获取 CD 对象的有效方法。在我的应用程序中,我必须在我的 NSMOC 中存储数千个对象,并且需要尽快获取它们。使用 NSPredicate 是获取符合我想要的最佳方式的实体的最佳方式吗?其次,如果我想保留一个“存档”类型的东西,我存储了数千个不经常使用的对象,但我需要它们,是否有可能拥有两个 NSMOC,如果是,它会加快进程吗?获取实体?
谢谢
如果您想有效地获取 CoreData 对象,您必须考虑以下几种方法:
NSFetchRequest
有一个名为的属性propertiesToFetch
,您可以使用它来仅获取您需要的属性relationshipKeyPathsForPrefetching
您可以使用以下属性预取一些关系以供以后使用NSFetchRequest
NSFetchRequest
对象上设置一个谓词,以便只获取你需要的数据您不能说这NSPredicate
是获取 CoreData 对象的最佳方式,因为您NSFetchRequest
用于此任务,但使用它绝对是一个好主意NSPredicate
。
我认为将单独的 MOC 用作“档案”不会对您的表现有所帮助。您可能应该阅读有关CoreData 性能的 Apple 文档