Есть ли способ объединить два NSMutableArray в цель c? - PullRequest
18 голосов
/ 02 октября 2010

У меня есть два NSMutableArray, заполненный объектом данных.как сравнить массив и объединить, если найдены какие-либо изменения.

ex: Array1= index(0) userName = {'a',1,'address'} index(1) userName = {'b',2,'address'}

Array2= index(0) userName = {'c',3,'address'} index (1) userName = {'b',2,'address'}

Результат: Array= index(0) userName = {'a',1,'address'} index (1) userName = {'b',2,'address'} index(2) userName = {'c',3,'address'}

Пожалуйста, помогите

Ответы [ 2 ]

51 голосов
/ 02 октября 2010

Самый простой способ - использовать наборы:

NSMutableSet *set = [NSMutableSet setWithArray:array1];
[set addObjectsFromArray:array2];

NSArray *array = [set allObjects];

Хотя потом вам придется самостоятельно сортировать array.

(Примечание: я использовал строчные имена переменных как естьобычно обычно).

11 голосов
/ 03 октября 2010
NSArray *array1, *array2;

...

MSMutableArray *result = [array1 mutableCopy];
for (id object in array2)
  {
  [result removeObject:object];  // make sure you don't add it if it's already there.
  [result addObject:object];
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...