Objective c NSFetchRequest setPropertiesToGroupBy:是否返回所有匹配的实体?
我正在为iOS开发一个应用程序,我找不到关于新的Objective c NSFetchRequest setPropertiesToGroupBy:是否返回所有匹配的实体?,objective-c,ios,cocoa-touch,macos,core-data,Objective C,Ios,Cocoa Touch,Macos,Core Data,我正在为iOS开发一个应用程序,我找不到关于新的NSFetchRequest setPropertiesToGroupBy:方法的很多文档 我有一堆实体a对象,它们与多个实体B对象有关系 我希望获取与特定模式匹配的所有实体B对象,并按实体a对其进行分组。这样,我就不会对每个实体a进行单独的DB获取。理想情况下,结果的结构将使我可以迭代相同实体a的组,然后使所有实体B与一个获取请求中的模式匹配 我可以看到,setPropertiesToGroupBy:方法应该允许我按照反向B->A关系进行分组,并
NSFetchRequest setPropertiesToGroupBy:
方法的很多文档
我有一堆实体a对象,它们与多个实体B对象有关系
我希望获取与特定模式匹配的所有实体B对象,并按实体a对其进行分组。这样,我就不会对每个实体a进行单独的DB获取。理想情况下,结果的结构将使我可以迭代相同实体a的组,然后使所有实体B与一个获取请求中的模式匹配
我可以看到,
setPropertiesToGroupBy:
方法应该允许我按照反向B->A关系进行分组,并返回一个NSDictionary的数组。但这是否意味着NSArray
中的每个项目都对应于实体A的一组?相应的NSManagedObject
子类可以在NSDictionary
中的某个地方找到。不,它没有。有两种方法可以做到这一点:
- 使用多个请求
- 有一个请求获取反向A->B关系位于一组B中的所有A实体。然后包括一个
NSSortDescriptor
以按B排序,并将结果分成多个组
后者可能更快,因为内存中的拆分可以避免重复的数据库访问和获取请求解析