iOS6 viewDidUnload Przestarzałe

Może jest to zła praktyka, ale z dokumentacji, którą przeczytałem, otrzymałem radę, aby inicjować obiekty w niektórych przypadkach w metodzie viewDidLoad i zerować ją w viewDidUnload.

Na przykład, jeśli masz coś takiego jak dodanie obserwatora

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

Teraz nie mam metody na usunięcie Observera, jednak viewDidLoad zostaje wywołane za każdym razem, gdy wyświetlany jest widok, co powoduje, że po pewnym czasie uruchamia się wielu obserwatorów, a selektor jest wywoływany wielokrotnie.

Mogę to naprawić, przenosząc niektóre czyszczenie do metody viewDidDisappear, ale teraz mam pewne wątpliwości, czy postępuję właściwie.

W moim przykładzie mam wiele Kontrolerów Nawigacji, które kontrolują ich podpoziomy, ale dealloc nigdy nie jest dla nich wywoływany, nawet jeśli nie są one przywoływane

questionAnswers(4)

yourAnswerToTheQuestion