Редактор кода C# в Visual Studio 2008 имеет функцию для удаления неиспользованный использование операторы.
Щелкают правой кнопкой и выбирают , Организуют Использования |, Удаляют Неиспользованные Использования .
NSMutableArray *arrayOneCopy = [NSMutableArray arrayWithArray:arrayOne];
[arrayOneCopy removeObjectsInArray:arrayTwo];
Используйте NSMutableSet :
NSMutableSet *setOne = [NSMutableSet setWithArray: arrayOne];
NSMutableSet *setTwo = [NSMutableSet setWithArray: arrayTwo];
[setOne minusSet: setTwo];
NSArray *arrayOneResult = [setOne allObjects];
(строго говоря, setTwo
не обязательно должен быть изменяемым, он также может быть NSSet
(который работает лучше))
Или используйте NSArray, как ответил другой человек - это тоже работает.
Какой из них работает, полностью зависит от размера вашего набора данных. Для небольших наборов данных решение массива работает нормально. Для больших наборов NSSet будет гораздо более эффективным, поскольку тесты членства представляют собой проверку хэша, а не линейный поиск.
Измерьте и используйте тот, который работает лучше всего.