我尝试使用已在上下文中完成的NSManagedObject
遍历多对多关系时应用谓词。我想过将这个集合作为一个数组然后应用一个过滤算法,但这会引发一堆我不想要的错误,因为该集合中可能有500多个对象。是否有可能在通过NSSet
访问此NSManagedObject
个错误时,我可以对该集合应用谓词或过滤器,并且只能解决这些错误?
答案 0 :(得分:1)
过滤关系中的对象是正确的。 远 比单独提取更有效率。我从个人经验中了解到这一点,关系大小在同一个球场(100-2000个实体),并且发现在进行另一次获取与过滤关系之间的速度差异大约是10倍。
答案 1 :(得分:0)
而不是过滤集objectA.b
,而是使用反向关系上的获取谓词来获取B
NSPredicate(format: "a == %@ AND …", objectA) // to-one
或
NSPredicate(format: "a CONTAINS %@ AND …", objectA) // to-many