iOS6 viewDidUnload obsoleto

Tal vez esto sea una mala práctica, pero de las documentaciones que leí obtuve el consejo de inicializar objetos en algunos casos dentro del método viewDidLoad y anularlo en viewDidUnload.

Por ejemplo, si tienes algo como agregar un observador

[[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(filterready:)
                                                 name:@"filterReady"
                                               object:nil];

Ahora no tengo un método para eliminar el Observer, sin embargo, se llama a viewDidLoad cada vez que se muestra la vista, lo que da como resultado que múltiples observadores se ejecuten después de un tiempo y luego se llama al selector varias veces.

Puedo solucionar esto moviendo algunos limpiadores al método viewDidDisappear, pero ahora tengo algunas dudas sobre si estoy haciendo lo correcto.

En mi muestra tengo varios Controladores de navegación que controlan sus subnavigaciones, pero nunca se llama el dealloc para ellos, aunque no se hace referencia a ellos.

Respuestas a la pregunta(4)

Su respuesta a la pregunta