Если у вас есть целая куча массивов, вы можете сделать это:
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"];