2013-03-29 14 views
5

Come nel titolo, mi chiedevo qual è l'implementazione "predefinita" di viewDidLoad in UIViewController? Fa davvero qualcosa? Inoltre importa se nel mio UIViewController's sottoclasse scrivoCosa fa la classe di UIViewController in viewDidLoad?

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

o

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

?

P.S. Questo non è un duplicato, in altre domande le persone chiedono quando dovrebbero chiamare [super viewDidLoad], mentre la mia preoccupazione principale è ciò che l'implementazione di UIViewController fa con esso.

risposta

5

Questa implementazione non fa nulla e può essere rimossa senza problemi se non si dispone di impostazioni da eseguire dopo il caricamento della vista. Tuttavia, è abbastanza raro non avere configurazioni personalizzate da fare qui; questo è il posto in cui il controller della vista ti dice che tutti gli oggetti dell'interfaccia utente sono disponibili per personalizzare con i dati. È incluso nel modello con un'implementazione vuota come promemoria: ecco dove farlo.

Per quanto riguarda quando chiamare super: l'aspettativa generale è che i metodi di impostazione o di inizializzazione chiamano super prima di fare il lavoro, e metodi di teardown chiamano super dopo aver fatto il lavoro.

0

ViewDidLoad Metodo Chiamato dopo che la vista del controller è stata caricata in memoria. Qui è dove si desidera istanziare qualsiasi variabile di istanza e creare qualsiasi vista che vivi per l'intero ciclo di vita di questo controller di visualizzazione. Tuttavia, la vista di solito non è ancora visibile a questo punto

Questo metodo viene chiamato indipendentemente dal fatto che la gerarchia della vista sia stata caricata da un file pennino o creata a livello di codice nel metodo loadView. Solitamente questo metodo viene sovrascritto per eseguire l'inizializzazione aggiuntiva sulle viste caricate dai file pennino.

For detail Information