Я пытаюсь отфильтровать NSMutableArray
. Поиск в массиве товаров по определенной стране. Я попытался NSpredicate
, который прекрасно работает, однако мне нужно повторно использовать исходный массив, который я не могу с NSpredicate
. Итак, я пытаюсь код ниже.
Q. Каков наилучший способ фильтрации NSMutableArray
с сохранением исходного массива без изменений?
// Следующий код работает
filteredArray = [[NSMutableArray alloc] init];
unsigned int i;
for (i = 0; i < [appDelegate.arrayToBeFiltered count]; i++) {
id session = [appDelegate.ads objectAtIndex: i];
id Country = [[appDelegate.arrayToBeFiltered objectAtIndex: i] TheCountry];
[filteredArray addObject: session];
Однако, когда я добавляю оператор if, как показано ниже, я получаю индекс за пределами
filteredArray = [[NSMutableArray alloc] init];
unsigned int i;
for (i = 0; i < [appDelegate.arrayToBeFiltered count]; i++) {
id session = [appDelegate.ads objectAtIndex: i];
id Country = [[appDelegate.arrayToBeFiltered objectAtIndex: i] TheCountry];
if (Country == @"United States"){
[filteredArray addObject: session];
}
}