Объединение двух массивов в Objective-C - PullRequest
40 голосов
/ 11 ноября 2010

Как объединить два массива в один массив в Objective-C?

Ответы [ 3 ]

50 голосов
/ 11 ноября 2010
NSArray* newArray = [firstArray arrayByAddingObjectsFromArray:secondArray];

Или, используя версию изменяемого массива, просто добавьте в нее все объекты из другого массива:

[myMutableArray addObjectsFromArray:secondArray];
6 голосов
/ 11 ноября 2010

с неизменяемыми массивами:


NSArray *arr1 = [NSArray arrayWithObjects:[NSNumber numberWithInt:1],
                                          [NSNumber numberWithInt:2],
                                          [NSNumber numberWithInt:3], nil];
NSArray *arr2 = [NSArray arrayWithObjects:[NSNumber numberWithInt:4],
                                          [NSNumber numberWithInt:5],
                                          [NSNumber numberWithInt:6], nil];
NSArray *arr3 = [arr1 arrayByAddingObjectsFromArray:arr2];

или добавление в изменяемый массив:


NSArray *arr1 = [NSArray arrayWithObjects:[NSNumber numberWithInt:1],
                                          [NSNumber numberWithInt:2],
                                          [NSNumber numberWithInt:3], nil];
NSArray *arr2 = [NSArray arrayWithObjects:[NSNumber numberWithInt:4],
                                          [NSNumber numberWithInt:5],
                                          [NSNumber numberWithInt:6], nil];
NSMutableArray *arr3 = [NSMutableArray arrayWithArray:arr1];
[arr3 addObjectsFromArray:arr2];
1 голос
/ 11 ноября 2010
NSSArray *theArrayIReallyWant = [oneArrayIDontReallyWant arrayByAddingObjectsFromArray:otherArrayIDontReallyWant];

Если вам нужно, оставьте theArrayIReallyWant, чтобы он остался в памяти, просто обязательно отпустите его, когда закончите. Это самый простой способ:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...