я работаю над приложением для iphone on target-c у меня есть массив с ссылками на объекты Если я удалю элемент со ссылкой на объект из массива, должен ли я освободить этот объект дополнительно или он будет автоматически удален из памяти?
При удалении из массива объект освобождается один раз.Поэтому, если ваше сохранение / освобождение правильно спарено в других местах, вы не должны освобождать свой объект в этом случае.
На самом деле, вы говорите о NSMutableArray
NSMutableArray
И делает релиз автоматически. Так же
[array add: @"SAFEY-STRING" ];
и не делай
[array add: [[NSString alloc] initWithFormat:@"LEAKY-STRING"] ];
Если NSArray (гм, это равно или NSArray, не так ли? C-массивы не обеспечивают управление владением) - единственное, что владеет объектом - то естьдобавленный объект был приобретен autorelease -d или вы явно назвали release после добавления - тогда он будет очищен автоматически при удалении.Любые другие претензии на право собственности все равно должны быть release -d как обычно.
NSArray
autorelease
release