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