简而言之>>仅列出所喜爱网站的所有国家/地区的列表。
我想要在网站上拥有“isFav = YES”的所有国家/地区的列表。我可以使用谓词查询来帮助吗?
答案 0 :(得分:1)
@James Richard的回答是正确的。但是,你需要比谓词更进一步。
谓词将返回国家/地区对象。然后,您需要添加一个方便的方法(或者只是在每次想要答案时编写过滤器)来过滤网站。
例如,在Country
实体子类中,您可以使用此方法:
- (NSSet*)favoriteWebsites
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"isFav == YES"];
NSSet *websites = [self valueForKey:@"websites"];
NSSet *favorites = [websites filteredSetUsingPredicate:predicate];
return favorites;
}
顺便说一句,你应该始终在核心数据中建立双向关系。损坏数据的风险很好。同样,核心数据命名约定不是将单词is
添加到属性之前。该属性应该只是favorite
,然后可以使用isFavorite
配置getter访问器。
答案 1 :(得分:0)
是的,你可以。
你必须做的谓词是:
[NSPredicate predicateWithFormat:@"ANY websites.isFav == YES"]
本文档可能有助于其他谓词格式化: