我有一个Core Data
Recipes
数据库。每个Recipe
都有一个ingredients
关系(多对多),因此我的XYZRecipe
对象的ingredients
属性指向NSSet
XYZIngredients
}。
我希望NSPredicate
选择超过5 Recipes
的所有ingredients
并尝试此操作:
NSPredicate *p = [NSPredicate predicateWithFormat:@"ingredients.count > 5"];
此操作失败,并抱怨课程XYZIngredient
不符合count
的键值。
显然,"ingredients.count"
被解释为keyPath
,而不是返回每个食谱的ingredients
属性。
有解决方法吗?
答案 0 :(得分:2)
应该可以在KVC方面和核心数据方面解决这个问题:
KVC:
@"ingredients.@count > 5"
应该提供关键路径的成分数量。
核心数据:
@"ingredients[SIZE] > 5"