我有一个CoreData模型,其对象为“bar”,它与实体“drink”有多对多的“饮料”关系。
实体饮料只有一个名为“名称”的属性。
现在在我的应用程序中,我有一个tableView,显示所有栏并包含一个searchBar。
在此搜索栏中,我希望能够搜索条形码中可用的名称,位置和可能的饮品
我已经实现了这样的名称和位置:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"
name contains[cd] %@ OR
location.name_extern contains[cd] %@ OR
location.name_intern contains[cd] %@",
searchText, searchText, searchText];
所以现在我的问题是:如何在饮料的NSSet中搜索name属性?
编辑:
为了更清楚,以下是重要的数据模型:
Bar
Attributes:
name
location
drinks
Location
Attributes:
name_extern
name_intern
Drink:
Attributes:
name
我有一个searchText
,需要检查以下4个地方是否匹配:
答案 0 :(得分:4)
这样的事情应该有效:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"
name contains[cd] %@ OR
location.name_extern contains[cd] %@ OR
location.name_intern contains[cd] %@ OR
ANY location.drinks.name contains[cd] %@",
searchText, searchText, searchText, searchText];