self.filteredProducts = [[NSMutableArray alloc] init];Сбой при использовании removeObjectsInArray: [NSArray arrayWithArray:]
//Find products
self.filteredProducts = (NSMutableArray*)[(NSMutableDictionary *)[self.CECategoriesDictionary objectForKey:category.categoryGuid] allValues];
if([self.oldfilteredProducts count] > 0 && selectedLevel==5)
{
NSMutableArray *diff = [self.filteredProducts mutableCopy];
[diff removeObjectsInArray:[NSArray arrayWithArray:self.oldfilteredProducts]];
[self.filteredProducts removeObjectsInArray:[NSArray arrayWithArray:diff]];
}
Журналы:
[__NSArrayI removeObjectsInArray]: непризнанные селектор направлен например 0x1aed19d0 2014-09-15 22: 00: 19,243 SAPRetailEx [10325: 90b] [ERROR]: неперехваченное исключение: - [__NSArrayI removeObjectsInArray:]: непризнанный селектор отправлен в экземпляр 0x1aed19d0 2014-09-15 22: 00: 19.243 SAPRetailEx [10325: 90b] [ERROR]: - [__ NSArrayI removeObjectsInArray:]: непризнанный селектор, отправленный в экземпляр 0x1aed19d0 2014-09 -15 22: 00: 19.248 SAPRetailEx [10325: 90b] [ОШИБКА]: (
Вы можете попробовать использовать отладчик, чтобы проверить, что тип объекта из 'diff' это после того как она была установлена. Для этого нужно «NSMutableArray». Кроме того, при вызове 'removeObjectsInArray:' вам не нужно использовать 'NSArray arrayWithArray:'. Вы просто тратите впустую процессор и оперативную память, чтобы создать массив, который вам не нужен. – BergQuester
Вы не можете мутировать неизменяемый объект. (Это то, что сообщение об исключении явно говорило вам.) –