具有多个条件的UITableView filteredArrayUsingPredicate?

时间:2014-03-31 19:18:07

标签: ios objective-c uitableview ios7 nspredicate

我的所作所为:

NSPredicate *predicate = [NSPredicate predicateWithFormat:
    @"SELF.street contains[c] %@ OR SELF.id contains[c] %@", searchText];

self.filteredItems = [NSMutableArray arrayWithArray:
   [self.items filteredArrayUsingPredicate:predicate]];

我想检查给定的searchText是在ID还是在STREET属性中。 STREET单独工作,但是一旦我添加ID检查我的应用程序崩溃。

知道如何对ID和STREET进行检查吗?

1 个答案:

答案 0 :(得分:3)

您使用%@两次,但只提供一个参数,请尝试:

NSPredicate *predicate = [NSPredicate predicateWithFormat:
    @"SELF.street contains[c] %@ OR SELF.id contains[c] %@", searchText, searchText];

我将ID从NSNumber更改为NSString。现在它有效。