viewDidLoad (), LoadView () [duplikat]
To pytanie ma już odpowiedź tutaj:
Jaka jest różnica między viewDidLoad () A LoadView () ? W jaki sposób różnią się od siebie?
Który z nich jest lepszy, gdy tworzymy aplikacje bez użycia XIB ?
Dzięki .7 answers
Jeśli tworzysz aplikacje bez użycia xib
LoadView()
metoda jest wywoływana i jeśli istnieje xib to ViewDidLoad
metoda jest wywoływana
Więc lepiej jest użyć metody LoadView.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-01 09:07:16
ViewDidLoad
jest wywoływana po zakończeniu ładowania widoku i loadView
jest wywoływana po rozpoczęciu ładowania.
I kiedy tworzysz nowy projekt, widzisz komentarze do tych metod, które wyraźnie dają wskazówkę, kiedy powinieneś użyć której funkcji
Zobacz to
/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/
/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
}
*/
Te komentarze są jasne i łatwe do zrozumienia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-30 04:28:53
viewDidLoad()
Jest używany podczas ładowania widoku z stalówki i chcesz wykonać dowolne dostosowanie po uruchomieniu.
LoadView()
Jest przeznaczony do tworzenia widoku programowo (bez użycia narzędzia Interface Builder).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-21 04:34:52
Jeśli zamierzasz używać IB do budowania interfejsu użytkownika, powinieneś wykonać całą inicjalizację post IB w viewDidLoad. Klasa w ogóle nie wywoła loadView, jeśli używasz nib do inicjalizacji kontrolera.
Jeśli zainicjalizujesz kontroler w kodzie, viewController wywoła najpierw loadView, a następnie viewDidLoad. Inicjalizację można wykonać w programie loadView lub viewDidLoad, w zależności od preferencji.
Jeśli jednak zdecydujesz się użyć loadView, upewnij się, że ustawisz właściwość view przed próba odczytania siebie.widok, w przeciwnym razie wejdziesz w nieskończoną pętlę i zawiesisz się.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-30 08:00:14
Jeśli zainicjujesz widok z pliku stroyboard lub xib, nie nadpisuj tej metody ani nie wywołaj wewnątrz [super loadView]. jeśli wywołasz [super loadView] wewnątrz metody, lepiej nigdy nie nadpisuj tej metody i dodaj następujący kod do metody viewDidLoad.
Jeśli programowo zainicjujesz widok, nigdy nie powinieneś wywoływać [super loadView]. i musisz przypisać swój rootView do siebie.zobacz nieruchomość, albo możesz uzyskać doskonałą awarię.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-08 07:23:58
Czy to nie oczywiste?
viewDidLoad
nazywa się... Po zakończeniu ładowania widoku.
loadView
jest wywoływany, gdy Widok ma się załadować.
Powodzenia:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-02 05:50:21
Kontroler widoku ładuje swój widok z powiązanej z nim nib jeśli nie ma powiązanej nib, to automatycznie wywołuje metodę loadView (), aby wypełnić jego Widok. W takim przypadku należy zaimplementować metodę loadView (). domyślnie zwraca nil
Kiedy widok ładuje się do pamięci metoda viewDidLoad() jest wywoływana tutaj, można wykonać niestandardową inicjalizację zgodnie z wymaganiami.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-02 07:11:41