ios - Core Data 嵌套数组计数
问题描述
我在核心数据中嵌套了多个关系: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 具有非零成员)。
推荐阅读
- reactjs - 何时使用 Redux Thunk?
- c# - WPF Telerik 散点图颜色
- mysql - 如果满足条件,则将列的总和分配给另一列中一个日期的月份
- typescript - Typescript 使用条件类型编写RequiredProps 泛型
- javascript - 边框超出轮廓
- java - 为什么我不能从另一个类访问这个方法?
- reactjs - React useEffect with auth0 is not working for getAccessTokenSilently as expected
- c++ - 将任意文本添加到 fmt 的用户定义类型格式化程序
- docker - Docker: error using docker-compose up on the official getting started tutorial
- architecture - 软件架构权衡?