0

我正在尝试过滤我拥有的一组 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
4

1 回答 1

2

filterUsingPredicate:是您正在寻找的 NSMutable 数组的方法filteredArrayUsingPredicate:

您可以从控制台输出__NSArrayI中得知您有一个不可变数组实例。

如果你想要一个可变数组,你需要更改[sortedItemsArray copy][sortedItemsArray mutableCopy]

于 2013-11-01T22:58:01.453 回答