Если у меня есть пара NSArrays , заполненных целыми , или NSNumbers , например:
A: { 12, 23, 45, 56, 67, 78, 99, 234 } B: { 12, 56, 78, 99, 454, 512 }
Как мневывести массив с номерами, которые находятся в A, но не в B, например
{ 23, 45, 67, 234 }
То, что вы связываете, является чисто заданной операцией. Таким образом, вы можете использовать NSSet здесь. Вы должны сделать minusSet:, чтобы получить желаемый результат.
minusSet:
NSMutableSet *resultSet = [NSMutableSet setWithArray:A]; NSSet *setB = [NSSet setWithArray:B]; // This is what you need! [resultSet minusSet:setB]; Array *result = [resultSet allObjects];
Создайте NSMutableArray с именем C. Выполните цикл над A, который пытается найти каждый из его элементов в B (используя [B containsObject:elemOfA], который просто отправляет сообщение -isEqual:elemOfA каждому члену B). Если элемент найден, ничего не делать; если элемент не найден, добавьте его в C.
[B containsObject:elemOfA]
-isEqual:elemOfA