2015-08-13 16 views
13

Desidero conoscere la differenza chiave tra awakeFromNib() e viewDidLoad() per ottenere maggiore chiarezza su come funziona. Per favore qualcuno può spiegare?differenza tra awakeFromNib() e viewDidLoad() in swift

+0

possibile duplicato del [Quale dovrei usare, -awakeFromNib o -viewDidLoad?] (Http://stackoverflow.com/questions/377202/which-should-i-use-awakefromnib-or-viewdidload) – vard

+0

possibile duplicato di [Explain awakeFromNib, initwithFrame usage] (http://stackoverflow.com/questions/8451900/explain-awakefromnib-initwithframe-usage) – mattt

risposta

15

Da documentazione di Apple:

awakeFromNib:

L'infrastruttura pennino in-carico invia un messaggio awakeFromNib a ciascun oggetto ricreato da un archivio pennino, ma solo dopo che tutti gli oggetti presenti nell'archivio sono state caricate e inizializzato. Quando un oggetto riceve un messaggio WakeFromNib, è garantito che tutte le sue connessioni di uscita e di azione siano già state stabilite.

Vedi: Nib Files in Resource Programming Guide

viewDidLoad:

Questo metodo viene chiamato dopo il controller della vista ha caricato la gerarchia vista in memoria. 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.

+2

così sveglioFromNib viene chiamato anche prima di viewDidLoad? –

+1

Si noti che 'awakeFromNib:' non può essere chiamato. – zaph

+0

Quindi, per questa domanda (http://stackoverflow.com/questions/36673624/manipulate-ib-outlets-in-awakefromnib-for-uicollectionviewcell-even-if-not-using), risveglioDaNib essere il posto giusto per manipolare IB punti vendita? Fondamentalmente, la domanda chiede dove inizializzare i punti vendita per un UICollectionViewCell se * not * si utilizza un XIB personalizzato? – Crashalot