核心数据嵌套数组计数

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 所在的位置具有非零成员)。