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。