NSPredicate同时使用IN和LIKE

时间:2012-05-01 12:55:36

标签: iphone ios core-data nspredicate

我有一组搜索值,我想在NSPredicate中与LIKE查询一起使用:

NSPredicate *p = [NSPredicate predicateWithFormat:@"textField IN LIKE[c] %@", array];

这不起作用,但是可以看看 textfield 是否与数组中的每个值进行任何LIKE比较?

1 个答案:

答案 0 :(得分:2)

您应该使用NSCompoundPredicate。它允许您将一系列 LIKE 谓词与 OR 组合在一起。

NSMutableArray *subpredicates = [NSMutableArray array];
for(NSString *text in array)
 [subpredicates addObject:[NSPredicate predicateWithFormat:@"textfield LIKE %@",text]];
NSPredicate *finished = [NSCompoundPredicate orPredicateWithSubpredicates:subpreds];//Your final predicate