NSMutableArray обращается к массиву с другой переменной - PullRequest
0 голосов
/ 06 февраля 2012

Мне трудно освоиться с этим.Скажем, у меня есть:

NSMutableArray *array1, который уже определен и имеет содержание.Теперь я хочу создать другую переменную, NSMutableArray *array2.

. Когда я делаю [array2 addObject:someObject], я хочу, чтобы этот объект был добавлен к array1, а не к array2.Как я могу назначить array2, чтобы, если я внесу в него какие-либо изменения, он изменил array1 вместо этого?

Ответы [ 2 ]

2 голосов
/ 06 февраля 2012

Вы бы сделали что-то такое:

NSMutableArray *array1 = [NSMutable arrayWithObjects:...];
NSMutableArray *array2 = array1;

[array2 addObject:someObject];
NSLog(@"%@", array1); // should now contain 'someObject'

Я запутался, однако, почему вы пытаетесь создать два указателя на один и тот же объект?

1 голос
/ 06 февраля 2012

Если я правильно понял ваше значение, вы ищете, что array2 станет псевдонимом для array1.Все, что вам нужно сделать, это присвоить array1 array2:

NSMutableArray *array2 = array1;

Теперь вызов [array2 addObject:someObject] добавит элементы к array1.

Однако array2 некопия array1: это всего лишь другое имя для array1.Если вы создадите копию, она будет полностью независимой от оригинала.В частности, добавление элементов в копию никак не повлияет на содержимое оригинала.

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