核心数据嵌套数组计数
Core Data nested array count
我在核心数据中嵌套了对多关系:
A -> B -> C,其中A有B的多个对象,B有C的多个对象
现在,我正在尝试获取具有零个 C 相关对象的所有对象 A,无论其间有多少个 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 所在的位置具有非零成员)。
我在核心数据中嵌套了对多关系: A -> B -> C,其中A有B的多个对象,B有C的多个对象
现在,我正在尝试获取具有零个 C 相关对象的所有对象 A,无论其间有多少个 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 所在的位置具有非零成员)。