我正在尝试过滤我拥有的NSDictionaries数组。
这是我的过滤器当前的样子
NSDictionary *selectedItemDictionary = [sortedItemsArray objectAtIndex:indexPath.row];
NSMutableArray *sortedItemsMutableArrayCopy = [sortedItemsArray copy];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"dpc like %@", [selectedItemDictionary objectForKey:@"dpc"]];
[sortedItemsMutableArrayCopy filterUsingPredicate:predicate];
这就是我的selectedItemDictionary的样子
dc = 3;
Cmp = F;
Qty = 0;
dp = 0;
实际上,我正在尝试搜索sortedItemsArray并创建一个新数组,该数组包含与我的UITableViewCell中的所选行具有相同dc编号的任何内容。
但是,使用上面的代码,我正在接收此错误
-[__NSArrayI filterUsingPredicate:]: unrecognized selector sent to instance
任何帮助,将不胜感激。
最佳答案
filterUsingPredicate:
是您要查找的NSMutable数组的方法filteredArrayUsingPredicate:
您可以从控制台输出__NSArrayI
得知您有一个不可变的数组实例。
如果需要可变数组,则需要将[sortedItemsArray copy]
更改为[sortedItemsArray mutableCopy]
关于ios - 如何使用NSPredicate过滤NSArray,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19736586/