假设 aNSManagedObject A和 一B。现在A在 上具有一对多B关系bs。is [A.bs filter...]with someNSPredicate非常方便,但可能比NSFetchRequest使用B相同的谓词和条件来匹配关系更慢,还是我弄错了?
我想这个性能问题会更糟,如果你lastObject对结果做类似的事情来只获得一个结果。(NSFetchRequest提供fetchLimit可用于此目的的属性)。
同样,如果您只对一个或两个属性感兴趣,也可以NSFetchRequest提供一个propertiesToFetch属性。
我的理由是,直接使用关系需要核心数据将所有数据都拉NSManagedObjects入相关的NSManagedObjectContext. 虽然NSFetchRequest可以在商店级别执行优化。
现在:
- 我的推理正确吗?因此,如果您对所有关系对象不感兴趣,请使用
NSFetchRequest? - 有没有一种解决方案可以通过具有相似性能的关系来获得方便(并且显然更具可读性)的方法?