OStack程序员社区-中国程序员成长平台

标题: ios - 核心数据谓词 - 检查数组中的任何元素是否与另一个数组中的任何元素匹配 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 00:32
标题: ios - 核心数据谓词 - 检查数组中的任何元素是否与另一个数组中的任何元素匹配

我正在尝试使用谓词来过滤两个数组之间存在交集的对象。

NSManagedObject 有一个名为“transmissions”的数组(字符串)属性。还有另一个数组(字符串),其中包含要过滤的单词,名为“filters”。

我不确定如何查找“传输”中的任何元素是否与“过滤器”中的任何元素匹配。

我试过了

NSPredicate *predicate = [NSPredicate predicateWithFormat"ANY SELF.transmission in[c] %@",transmissions];

NSPredicate *predicate = [NSPredicate predicateWithFormat"ANY transmission in[c] %@",transmissions];

但是,核心数据在应该有的地方没有获取任何结果。



Best Answer-推荐答案


试试这个。

NSPredicate *predicate = nil;
NSMutableArray *predicates = [NSMutableArray new];
for (NSString *transmission in transmissions) {
    [predicates addObject:[NSPredicate predicateWithFormat"transmission == %@", transmission]];
}
if (predicates.count > 0)
    predicate = [NSCompoundPredicate orPredicateWithSubpredicates:predicates];

// make fetch request using 'predicate'

关于ios - 核心数据谓词 - 检查数组中的任何元素是否与另一个数组中的任何元素匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25159240/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4