2010-08-16 2 views
1

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

ответ

2

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

0

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

0

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

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

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

и не делают

[array add: [[NSString alloc] initWithFormat:@"LEAKY-STRING"] ]; 
Смежные вопросы