use*_*706 1 iphone core-data nspredicate ios
我有4个实体.ArticleGroup,Article,WarehouseStok,Warehouse.
我需要获取articleGroups,这些articleGroups包含属于仓库(单个)的warehouseStocks(NSSet)的文章(NSSet).
request.predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(articles, $a, SUBQUERY($a.warehouseStocks, $y, $y.warehouse == %@))", warehouse];
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
*由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:'无法解析格式字符串"SUBQUERY(文章,$ a,SUBQUERY($ a.warehouseStocks,$ y,$ y.warehouse ==%@))"'
我如何构造这样的谓词?有可能吗?
SUBQUERY返回一组匹配的对象.一个谓语必须返回真或假,如"SUBQUERY(...).@计数> 0".
在你的情况下,将是:
[NSPredicate predicateWithFormat:@"SUBQUERY(articles, $a, SUBQUERY($a.warehouseStocks, $y, $y.warehouse == %@).@count > 0).@count > 0", warehouse];
Run Code Online (Sandbox Code Playgroud)
但我认为您可以将谓词简化为(未经测试):
[NSPredicate predicateWithFormat:@"SUBQUERY(articles, $a, ANY $a.warehouseStocks.warehouse == %@).@count > 0", warehouse];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
369 次 |
| 最近记录: |