ios - 使用 ANY 和两个条件创建 NSPredicate
问题描述
我只有两个实体:Product
和Item
. 产品可能有很多items
:Set<Item>
。Item
有两个性质:isActive
和identifier
。
现在我需要获取至少Item
同时满足以下条件的所有产品:
identifier IN %@
//["1", "2"]isActive = true
let format = "ANY (items.identifier IN %@ AND items.isActive = true)" let predicate = NSPredicate(format: format, ["1", "2"])
但我有例外:Unable to parse the format ...
为什么?
解决方案
你可以试试这个——
let format = "SUBQUERY(items, $item, $item.identifier IN %@ AND $item.isActive = true).@count > 0"
let predicate = NSPredicate(format: format, ["1", "2"])
推荐阅读
- android - phonegap 应用程序未在方向更改时更新样式
- r - R - 仅当每个组满足某些条件时才选择 ID
- ios - 如何声明继承的内置协议以便可以从另一个框架或应用程序导入?
- android - 滚动片段位于 Activity 顶部,导致 Activity 视图下方滚动
- sql - SSIS表达式将变量作为列然后抛出错误
- django - 通过 Nginx 代理 HTTPS 向 docker-compose 中的 gunicorn django 提供静态文件
- bounding-box - 如何使用 fastai 为自定义训练图像分类器绘制预测类的边界框
- python - doctest 失败,而输出似乎正确
- admob - 如何将 Google Admob 的欧盟同意政策模板翻译成不同的语言?
- json - 如何解析 JSON 文件中的值并返回 MessageBox 中的值?