que tienden a liberar mis cosas en -dealloc, y ahora el iPhone OS 3.0 introdujo este método -viewDidUnload divertido, donde dicen:¿Qué debo hacer exactamente en viewDidUnload?
// liberar cualquier subvistas de la vista principal retenidos. // p.ej. self.myOutlet = nil;
So -viewDidUnload parece ser llamado cuando la vista del controlador de vista se inició desde la memoria. Y si tengo subvistas adjuntas a la vista principal del controlador de vista, tengo que liberar eso solo AQUÍ, pero no también en -dealloc.
Eso es confuso. Además, ¿qué ocurre si -dealloc hace que la vista se descargue (libere)? Entonces otra vez, llamará -viewDidUnload?
Me doy cuenta de la diferencia, que -viewDidUnload es solo para el caso donde la vista se mata, pero el controlador de vista permanece en la memoria. Y -dealloc es para el caso en el que todo se desperdicia.
Quizás alguien pueda aclarar la confusión.
Pregunta similar: http://stackoverflow.com/questions/1158788/when-should-i-release-objects-in-voidviewdidunload-rather-than-in-dealloc –
viewDidUnload está en desuso en iOS 6! – whyoz