2014-12-15 8 views
9

Sto costruendo un'app per iOS utilizzando la lingua Swift. Comincio con un controller di visualizzazione tabella come controller di visualizzazione radice e quindi ho un controller di visualizzazione secondario in cui è definita una variabile (passData). Funziona tutto bene e trasmette i dati correttamente (credo) dal controller della vista secondaria al controller della vista principale. Tuttavia, quando l'utente ritorna al controller di visualizzazione primario, ho bisogno di una funzione da eseguire che aggiunga il valore 'addTitle' a un array. So come aggiungerlo all'array, ma ...Esecuzione di una funzione quando appare una vista - Swift

Non so come avviare la funzione quando viene restituita la vista. Quello che voglio dire è che, dopo che l'utente ha finito sul controller della vista secondaria e la variabile "passData" è stata definita, verrà quindi premuto il pulsante Indietro sulla barra di navigazione. Ho quindi bisogno controllore vista primaria riconoscere che è nuovamente visualizzato all'utente e quindi eseguire il codice seguente:

tableData += [passData] 
tableSubtitle += [passDescription] 

Ho provato quanto segue:

override func viewDidAppear() { 
    tableData += [passData] 
    tableSubtitle += [passDescription] 
} 

Ma questo dà l'errore come Method does not override any method from its superclass.

In sostanza, ho solo bisogno di sapere come avviare una funzione quando viene visualizzata la vista. Come posso raggiungere questo obiettivo?

risposta

12

è necessario chiamare super.viewDidAppear(animated) e la firma del metodo prende un Bool così si dovrebbe dire:

override func viewDidAppear(animated: Bool) 

PROTIP: Se si desidera sovrascrivere un metodo si può solo iniziare a digitare il nome del metodo che si desidera sovraccarico e Xcode suggerirà automaticamente il nome del metodo e inserirà la dichiarazione sostitutiva. Quindi su una nuova riga inizia a digitare viewDid e dovresti vedere il metodo viewDidAppear nel menu a tendina del completamento automatico. La pressione di immette completerà la firma del metodo per te.

+0

Ehi lì, funziona perfettamente! Grazie mille! – Mydogmaxieboy

+0

@Mydogmaxieboy felice di aiutare :) –