2015-02-04 3 views
0

извинения, если это задано несколько раз, но мне не удалось найти ответ.Установка массива в другой массив

Если у меня есть NSArray под названием array1, есть ли разница между этими 2 методами:

NSArray *array2 = [NSArray alloc] initWithArray:array1]; 

и:

NSArray * array2 = array1; 

Благодаря

ответ

2

Да.

Первый создает новый массив.

Te секунд создает новую ссылку на исходный массив.

+0

Не был бы первым, только копия массива, только если был установлен параметр 'copyItems: YES'? – chancea

+0

@chancea Это копия массива из-за «alloc». Это не копия элементов в исходном массиве. –

+0

@MarcosCrispino, поэтому первый метод - если массив1 был изменен, array2 все равно будет исходным массивом. Второй метод - они оба изменились бы? – mrcurious

Смежные вопросы