iOS6 viewDidUnload Depreciado

Talvez esta seja uma prática ruim, mas a partir das documentações que eu li, recebi o conselho para inicializar objetos em alguns casos dentro do método viewDidLoad e nada no viewDidUnload.

Por exemplo, se você tem algo como adicionar um observador

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

Agora eu não tenho um método para remover o Observer, no entanto, o viewDidLoad é chamado toda vez que a exibição é mostrada, o que resulta em ter vários observadores em execução depois de um tempo e o seletor ser chamado várias vezes.

Eu posso consertar isso movendo alguns limpadores para o método viewDidDisappear, mas agora tenho algumas dúvidas se estou fazendo a coisa certa.

No meu exemplo eu tenho vários controladores de navegação que estão controlando suas subnavigações, mas o dealloc nunca é chamado para eles, mesmo que eles não sejam referenciados

questionAnswers(4)

yourAnswerToTheQuestion