Voglio passare una stringa tra due controller di interfaccia. Su InterfaceController1 voglio creare una variabile come:
var level:String = ("easy")
e quindi essere in grado di accedere a quella variabile su InterfaceController2.
Preferirei non utilizzare le variabili globali poiché sono consapevole che non sono raccomandate.
C'è una risposta su StackOverFlow ma è stata creata quando Swift 1 era fuori e non riesco a trovare nessun anwser aggiornato.
Grazie
risposte:
0 per risposta № 1Hai diverse opzioni per raggiungere questo obiettivo.
- Uso
pushController(withName:,context:)
e impostarelevel
come argomento di inserimento del contesto, quindi in InterfaceController2 "sawake(withContext:)
usa quella variabile - Utilizzare singleton (dichiarare la variabile come statica) se è necessario accedere alla variabile di InterfaceController2 da diverse classi o se non si naviga direttamente su InterfaceController2.
Se è sufficiente impostare tale variabile da InterfaceController1 e presentare direttamente InterfaceController2 da InterfaceController1, l'opzione 1 è il metodo preferito.