我有一个NSNumber
的数组,例如:10015,12313,10016
我想检查数组是否包含我在searchBar中输入的整数。
我的代码:
NSPredicate *resultPredicate = [NSPredicate
predicateWithFormat:@"SELF CONTAINS[c] %d", [searchText intValue]];
self.searchResults = [newArr filteredArrayUsingPredicate:resultPredicate];
答案 0 :(得分:9)
如果您只需要数组是否包含它的布尔值,那么您需要。
self.searchResults = [newArr containsObject:@([searchText intValue])];
如果您确实想在结果中使用NSNumber
的子集(在本例中为1),则包含将无效。必须像这样检查每个NSNumber
的值的相等...
NSPredicate *resultPredicate = [NSPredicate
predicateWithFormat:@"SELF == %d", [searchText intValue]];
答案 1 :(得分:0)
如果您只想知道数字是否在数组中,则无需使用谓词:
BOOL occurs = [newArr containsObject:[NSNumber numberWithInt:[searchText intValue]]];
应该这样做。