Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSFetchRequest setPropertiesToGroupBy:是否返回所有匹配的实体?_Objective C_Ios_Cocoa Touch_Macos_Core Data - Fatal编程技术网

Objective c NSFetchRequest setPropertiesToGroupBy:是否返回所有匹配的实体?

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关系进行分组,并

我正在为iOS开发一个应用程序,我找不到关于新的
NSFetchRequest setPropertiesToGroupBy:
方法的很多文档

我有一堆实体a对象,它们与多个实体B对象有关系

我希望获取与特定模式匹配的所有实体B对象,并按实体a对其进行分组。这样,我就不会对每个实体a进行单独的DB获取。理想情况下,结果的结构将使我可以迭代相同实体a的组,然后使所有实体B与一个获取请求中的模式匹配


我可以看到,
setPropertiesToGroupBy:
方法应该允许我按照反向B->A关系进行分组,并返回一个
NSDictionary的数组。但这是否意味着
NSArray
中的每个项目都对应于实体A的一组?相应的
NSManagedObject
子类可以在
NSDictionary
中的某个地方找到。

不,它没有。有两种方法可以做到这一点:

  • 使用多个请求
  • 有一个请求获取反向A->B关系位于一组B中的所有A实体。然后包括一个
    NSSortDescriptor
    以按B排序,并将结果分成多个组
后者可能更快,因为内存中的拆分可以避免重复的数据库访问和获取请求解析