/ / Passaggio dei dati tra i controller di interfaccia su Xcode 8.0 Swift 3.0 - swift, xcode, swift3, apple-watch, wkinterfacecontroller

Passaggio dei dati tra i controller di interfaccia su Xcode 8.0 Swift 3.0 - swift, xcode, swift3, apple-watch, wkinterfacecontroller

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 № 1

Hai diverse opzioni per raggiungere questo obiettivo.

  1. Uso pushController(withName:,context:) e impostare level come argomento di inserimento del contesto, quindi in InterfaceController2 "s awake(withContext:) usa quella variabile
  2. 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.