2013-03-29 8 views
5

Podobnie jak w tytule, zastanawiałem się, jaka jest "domyślna" implementacja viewDidLoad w UIViewController? Czy naprawdę coś robi? Również to ma znaczenie, jeśli w moim UIViewController's podklasy piszęCo robi klasa UIViewController w viewDidLoad?

-(void)viewDidLoad{ 
    [super viewDidLoad]; 
    /*custom code here*/ 
} 

lub

-(void)viewDidLoad{ 
    /*custom code here*/ 
    [super viewDidLoad]; 
} 

?

P.S. To nie jest duplikat, w innych pytaniach ludzie pytają kiedy powinni wywoływać [super viewDidLoad], podczas gdy moim głównym problemem jest to, co robi implementacja UIViewController.

Odpowiedz

5

Ta implementacja nie robi nic i można ją bezpiecznie usunąć, jeśli nie masz żadnych ustawień po załadowaniu widoku. Jednak rzadko zdarza się, że nie ma tu żadnych ustawień niestandardowych; jest to miejsce, w którym kontroler widoku informuje użytkownika, że ​​wszystkie jego obiekty interfejsu użytkownika są dostępne do dostosowania za pomocą danych. Jest on zawarty w szablonie z pustą implementacją jako przypomnienie: oto gdzie to zrobić.

W miarę gdy zadzwonić super: ogólna Oczekuje się, że metody instalacji lub inicjalizacji zadzwonić super przed wykonaniem pracy i metody TEARDOWN zadzwonić super po wykonaniu pracy.

0

ViewDidLoad Metoda Wywoływana po załadowaniu widoku kontrolera do pamięci. Tutaj należy utworzyć instancje zmiennych instancji i zbudować dowolne widoki, które działają przez cały cykl życia tego kontrolera widoku. Jednak widok ten zwykle nie jest jeszcze widoczny w tym momencie:

Ta metoda jest wywoływana niezależnie od tego, czy hierarchia widoku została załadowana z pliku nib, czy utworzona programowo w metodzie loadView. Zwykle zastępujesz tę metodę, aby wykonać dodatkową inicjalizację na widokach załadowanych z plików NIB.

For detail Information