Как создать массив из другого массива? - PullRequest
0 голосов
/ 14 февраля 2010

Есть ли способ создания массива из других массивов нескольких объектов в Objective C?

Ответы [ 2 ]

4 голосов
/ 14 февраля 2010
NSArray *arrayC = [arrayA arrayByAddingObjectsFromArray:arrayB];
2 голосов
/ 14 февраля 2010

Если у вас есть целая куча массивов, вы можете сделать это:

NSMutableArray * allObjects = [NSMutableArray array];
[allObjects addObjectsFromArray: array1];
[allObjects addObjectsFromArray: array2];
[allObjects addObjectsFromArray: array3];

Этот метод предотвращает создание новой копии массива каждый раз (что является побочным эффектом arrayByAddingObjectsFromArray:).

В качестве альтернативы, если у вас есть массив массивов, и вы хотите объединить их в один массив, вы можете сделать:

for (NSArray * objects in arrayOfArrays) {
  [allObjects addObjectsFromArray:objects];
}

Или:

allObjects = [arrayOfArrays valueForKeyPath:@"@unionOfArrays.self"];
...