我正在开发一个 iOS 应用程序,但我找不到太多关于新的 NSFetchRequest setPropertiesToGroupBy:
方法的文档。
我有一堆实体 A 对象,它们与多个实体 B 对象有关系。
我想获取与特定模式匹配的所有实体 B 对象,并按实体 A 对它们进行分组。这样我就不必为每个实体 A 进行单独的数据库获取。理想情况下,结果将被结构化,以便我可以迭代相同实体 As 的组,然后使所有实体 B 与一个获取请求中的模式匹配。
我可以看到 setPropertiesToGroupBy:
方法应该让我按逆 B->A 关系进行分组,并返回一个 NSDictionaries
数组。但这是否意味着 NSArray 中的每一项都对应于实体 A 的一组?并且可以在 NSDictionary
中的某个位置找到相应的 NSManagedObject
子类?
最佳答案
不,没有。有两种方法可以做到这一点:
- 使用多个请求
- 有一个请求获取所有 A 实体,其中逆 A->B 关系位于一组 B 中。然后添加一个
NSSortDescriptor
以按 B 排序并将结果分成几组。
后者可能更快,因为内存中的分割避免了重复的数据库访问和获取请求解析。
关于objective-c - NSFetchRequest setPropertiesToGroupBy : return all entities that match? 是否,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8875868/