How to concatenate two arrays into a single array in Objective-C?
Asked
Active
Viewed 2.3k times
3 Answers
53
NSArray* newArray = [firstArray arrayByAddingObjectsFromArray:secondArray];
Or using mutable array version just add to it all objects from another array:
[myMutableArray addObjectsFromArray:secondArray];

Vladimir
- 170,431
- 36
- 387
- 313
9
With immutable arrays:
NSArray *arr1 = @[@(1), @(2), @(3)];
NSArray *arr2 = @[@(4), @(5), @(6)];
NSArray *arr3 = [arr1 arrayByAddingObjectsFromArray:arr2];
or adding onto a mutable array:
NSArray *arr1 = @[@(1), @(2), @(3)];
NSArray *arr2 = @[@(4), @(5), @(6)];
NSMutableArray *arr3 = [NSMutableArray arrayWithArray:arr1];
[arr3 addObjectsFromArray:arr2];

Iulian Onofrei
- 9,188
- 10
- 67
- 113

bnabilos
- 2,234
- 4
- 23
- 30
1
NSSArray *theArrayIReallyWant = [oneArrayIDontReallyWant arrayByAddingObjectsFromArray:otherArrayIDontReallyWant];
If you need to, retain theArrayIReallyWant
so it stays in memory, just be sure to release it when you are done.
That by far is the easiest method :)

Richard J. Ross III
- 55,009
- 24
- 135
- 201