NSFetchRequest setPropertiesToGroupBy:返回匹配的所有实体吗?

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

我有一堆与多个实体B对象有关系的实体A对象。

我想获取匹配特定模式的所有实体B对象,并将它们按实体A分组。这样我就不必为每个实体A单独获取数据库了。结果理想情况下是结构化的,以便我可以迭代等于实体As的组,然后将具有与来自一个获取请求的模式匹配的所有实体Bs。

我可以看到setPropertiesToGroupBy:方法应该让我通过反B-> A关系进行分组,并返回一个NSDictionaries数组。 但这是否意味着NSArray每个项目都对应于实体A的一个组? 而且相应的NSManagedObject子类可以在NSDictionary某处find?

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

  • 使用多个请求
  • 有一个请求获得所有A实体,其中反A-> B关系在一组Bs中。 然后包含一个NSSortDescriptor按Bsorting,并将结果分成组。

后者可能会更快,因为内存中的分割避免了重复的数据库访问和获取请求parsing。