2013-11-01 3 views
0

Я пытаюсь отфильтровать массив NSDictionaries, который у меня есть.Как фильтровать NSArray с помощью NSPredicate

Это то, что мой фильтр в настоящее время выглядит

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; 

effectivly Я пытаюсь искать через sortedItemsArray и сделать новый массив ничего который имеет тот же номер постоянного тока, что и выбранная строка в моем UITableViewCell. Однако с кодом выше я reciving этой ошибки

-[__NSArrayI filterUsingPredicate:]: unrecognized selector sent to instance 

любой помощь будет оценена.

ответ

2

filterUsingPredicate: является методом NSMutable массива вы ищете filteredArrayUsingPredicate:

вы можете сказать от консольного вывода __NSArrayI, что у вас есть неизменяемый экземпляр массива.

если вы хотите изменяемый массив вам нужно изменить [sortedItemsArray copy] к [sortedItemsArray mutableCopy]

+0

Да Thats именно то, что я только что понял теперь, глядя на яблоневых документы снова .. большое спасибо за ваш ответ будет отмечать это исправить в ближайшее время. – HurkNburkS

Смежные вопросы