ios – 具有多重条件的NSPredicate

前端之家收集整理的这篇文章主要介绍了ios – 具有多重条件的NSPredicate前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建具有多个条件的NSPredicate.我找到了几个解决方案,但是他们似乎都没有使用我的方法.我找到的最好的一个是下面.

这是我的单一谓词方法,它的工作原理很好:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name contains[c] %@",searchText];
filteredBusinesses = [businesses filteredArrayUsingPredicate:predicate];

这是我的编辑版本与多个条件.我不知道出了什么问题.有任何想法吗?

NSPredicate *p1 = [NSPredicate predicateWithFormat:@"name contains[c] %@",searchText];
NSPredicate *p2 = [NSPredicate predicateWithFormat:@"businessArea contains[c] %@",searchText];

NSPredicate *predicate = [NSCompoundPredicate andPredicateWithSubpredicates:@[p1,p2]];
filteredBusinesses = [businesses filteredArrayUsingPredicate:predicate];

解决方法

你可以试试这个
NSPredicate *predicate = [NSCompoundPredicate orPredicateWithSubpredicates:@[p1,p2]];

猜你在找的iOS相关文章