问题描述
我在核心数据中嵌套了对多关系: A -> B -> C,其中A有B的多个对象,B有C的多个对象。
现在,我正在尝试获取所有对象 A,其中 C 的相关对象为零,无论 B 之间有多少个对象。
我试过这个谓词:
nspredicate(format: "SUBQUERY(arrayOfB,$b,$b.arrayOfC.@count == 0).@count > 0")
但它给了我这个错误:
'NSinvalidargumentexception',reason: 'Keypath containing KVC aggregate where there shouldn't be one; Failed to handle $b.arrayOfC.@count'
解决方法
尝试使用计数表达式的替代格式:
NSPredicate(format: "SUBQUERY(arrayOfB,$b,count:($b.arrayOfC) > 0).@count == 0")
请注意,我认为您的条件是错误的:您想要零计数(arrayOfB,其中 arrayOfC 具有非零成员)。