Я слишком туп, чтобы знать ответ на этот вопрос - кто-нибудь знает ответ окончательно?
NSMutableArray *happyDictionaryEntries;
@property (nonatomic, retain) NSMutableArray *happyDictionaryEntries;
-(void) getStuffFromServer
{
..
self.happyDictionaryEntries = [NSMutableArray
arrayWithContentsOfURL:[NSURL URLWithString:aUrl]];
}
Позже мы выпустим массив.Я хочу на самом деле освободить все элементы массива.
Итак, мы бы [happyDictionaryEntries release].
(или я полагаю, просто self.happyDictionaryEntries = nil, поскольку это свойство.)
НО вам также нужно [happyDictionaryEntries removeAllObjects]?
И / ИЛИ вам нужно вручную освобождать каждый элемент в массиве?
(Действительно - связанный вопрос - действительно лиКто-нибудь знает, действительно ли removeAllObjects освобождает каждый объект? Не совсем понятно, какова ситуация.) Есть ли идиома?
Я могу без проблем управлять памятью в типичном массиве, который вы создаете «сами», ноЯ слишком туп, чтобы понять, какова ситуация, когда у вас есть arrayWithContentsOfURL в миксе.Если кто-то окончательно знает ответ, спасибо!
"В документации для NSArray и NSMutableArray указано поведение управления памятью - Джошуа"
Правильно.Есть ли у вас документация для removeAllObjects или для arrayWithContentsOfURL?Может кто-нибудь решительно заявить, что делает removeAllObjects?Спасибо.
"Из руководства по программированию управления памятью от Apple: [общеизвестно, что такое doco]" - jlehr.
Правильно, но что делает removeAllObjects?Кто-нибудь знает?
ПРИМЕЧАНИЕ, ЧТО НЕТ документации по этому вопросу .Документ по NSMutableDisctionary removeAllObjects, например является явным .НО документ на NSMutableArray removeAllObjects заметно НИЧЕГО НЕ СКАЗЫВАЕТ .Это может быть похоже (для примера) на imageNamed, который в принципе не работает и работает не так, как следовало ожидать.