gpt4 book ai didi

ios - Core Data 使用派生类上的谓词获取基类的数据

转载 作者:行者123 更新时间:2023-11-29 03:21:43 25 4
gpt4 key购买 nike

简而言之>>仅列出所有国家/地区及其最喜欢的网站。

Problem diagram

我想要网站中具有“isFav = YES”的所有国家/地区的列表。我可以使用谓词查询来做到这一点吗?请帮忙?

最佳答案

@James Richard 的回答是正确的。但是,您需要比谓词更进一步。

谓词将返回国家对象。然后你需要添加一个方便的方法(或者每次你想要答案的时候就写过滤器)来过滤网站。

例如,在您的 Country 实体子类中,您可以使用此方法:

- (NSSet*)favoriteWebsites
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"isFav == YES"];
NSSet *websites = [self valueForKey:@"websites"];
NSSet *favorites = [websites filteredSetUsingPredicate:predicate];
return favorites;
}

顺便说一句,您应该始终在核心数据中拥有双向关系。损坏数据的风险很大。同样,Core Data 的命名约定是不要在属性前加上单词 is。该属性应该只是 favorite,然后可以使用 isFavorite 配置 getter 访问器。

关于ios - Core Data 使用派生类上的谓词获取基类的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21005155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com