Удаление объекта из массива - PullRequest
1 голос
/ 16 августа 2010

я работаю над приложением для iphone on target-c у меня есть массив с ссылками на объекты Если я удалю элемент со ссылкой на объект из массива, должен ли я освободить этот объект дополнительно или он будет автоматически удален из памяти?

Ответы [ 3 ]

2 голосов
/ 16 августа 2010

При удалении из массива объект освобождается один раз.Поэтому, если ваше сохранение / освобождение правильно спарено в других местах, вы не должны освобождать свой объект в этом случае.

0 голосов
/ 21 июня 2013

На самом деле, вы говорите о NSMutableArray

И делает релиз автоматически. Так же

[array add:  @"SAFEY-STRING" ];

и не делай

[array add:  [[NSString alloc] initWithFormat:@"LEAKY-STRING"] ];
0 голосов
/ 16 августа 2010

Если NSArray (гм, это равно или NSArray, не так ли? C-массивы не обеспечивают управление владением) - единственное, что владеет объектом - то естьдобавленный объект был приобретен autorelease -d или вы явно назвали release после добавления - тогда он будет очищен автоматически при удалении.Любые другие претензии на право собственности все равно должны быть release -d как обычно.

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