2010-02-14 7 views

ответ

4
NSArray *arrayC = [arrayA arrayByAddingObjectsFromArray:arrayB]; 
2

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

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"]; 
Смежные вопросы