我一直在环顾四周,看过类似于我正在做的例子但却无法让他们工作。我有一个"产品"具有多对多关系的核心数据实体与"制造商"实体。 "制造商"有一个属性"名称"我想要搜索。 "产品"也有" isCustomItem"我也想搜索一下。所以我试图达到的目标如下:
Product
1 ... m Manufacturer.name
AND Product.isCustomItem
== 0
到目前为止,我已经成功地聚集在一起:
NSPredicate *p3 = [NSPredicate predicateWithFormat:@"SUBQUERY(manufacturer,$m,$m.name CONTAINS[c] %@) AND (isCustomItem == 0)", searchString];
但是我一直收到错误:
**'Unable to parse the format string "SUBQUERY(manufacturer,$m,$m.name CONTAINS[c] %@) AND (isCustomItem == 0)"'**
答案 0 :(得分:4)
尝试这样的事情......
NSPredicate *namePredicate = [NSPredicate predicateWithFormat:@"ANY manufacturer.name CONTAINS[c] %@", searchString];
NSPredicate *customPredicate = [NSPredicate predicateWithFormat:@"isCustomItem == 0"];
NSPredicate *compoundPredicate = [NSCompoundPredicate andPredicateWithSubPredicates:@[namePredicate, customPredicate]];
然后使用compoundPredicate过滤你的设置。