【发布时间】:2014-09-03 03:59:17
【问题描述】:
我正在尝试创建具有多个条件的 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];
【问题讨论】:
-
你期待什么,你得到什么?
-
我期待能够在我的 searchbardelegage 中输入多种类型的信息。相反,它崩溃了:(
-
粘贴你的堆栈跟踪
-
如果你所做的只是过滤一个数组,为什么不使用一个块谓词呢?
-
@matt,我该怎么做?
标签: ios objective-c nspredicate