Я, как правило, чтобы освободить свой материал в -dealloc, и теперь iPhone OS 3.0 представил этот забавный метод -viewDidUnload, где они говорят:Что именно я должен делать в viewDidUnload?
// Выпуск удержанных подвиды из основного вида. // например. self.myOutlet = nil;
So -viewDidUnload, похоже, вызывается, когда вид диспетчера представлений вызывается из памяти. И если у меня есть subviews, прикрепленные к главному виду контроллера представления, я должен выпустить этот материал только ЗДЕСЬ, но не в -dealloc, а?
Это сбивает с толку. Кроме того, что, если -dealloc вызывает выгрузку (освобождение) представления? Опять же, он будет вызывать -viewDidUnload?
Я понимаю разницу, что -viewDidUnload предназначен только для случая, когда сам вид убивается, но контроллер вида остается в памяти. И -dealloc предназначен для случая, когда все идет в корзину.
Возможно, кто-то может устранить путаницу.
Аналогичный вопрос: http://stackoverflow.com/questions/1158788/when-should-i-release-objects-in-voidviewdidunload-rather-than-in-dealloc –
viewDidUnload устарел в iOS 6! – whyoz