2012-12-29 17 views
5

Mi sono abbastanza comodo usare il metodo viewDidLoad per eseguire le cose che voglio fare all'inizio di una vista, ma leggendo una delle esercitazioni di Apple impostano il controller di dati per la classe in il metodo awakeFromNib e non ha fatto nulla in awakeFromNib. L'ho sostituito e apparentemente ha funzionato in modo identico nella mia app, ma non sono sicuro se fosse meglio averlo in awakeFromNib o viewDidLoad.Quando usare viewDidLoad e quando usare awakeFromNib

Quando dovrei usare uno dei due?

+0

In un controller Tab essere ware di questo [http://stackoverflow.com/a/15786529/547341][1] [1]: http://stackoverflow.com/a/15786529/547.341 –

risposta

6

awakeFromNib viene chiamato quando viene caricato il file di pennini associato con una classe. Qualsiasi classe che può possedere un pennino può usarla. viewDidLoad viene utilizzato solo dai controller di visualizzazione. Solitamente viene chiamato anche quando si carica dal pennino, ma può anche essere richiamato da una vista creata in memoria (caso molto raro). Se si utilizza i controller, quindi vorrei suggerire di utilizzare viewDidLoad

Per ulteriori fare riferimento questo Answer

0

viewDidLoad è associato con il controller della vista. Se è necessario inizializzare un altro controllo non archiviato dal pennino (ad esempio prototipo UITableViewCell) non è possibile sovraccaricare viewDidLoad, è necessario sovraccaricare awakeFromNib.