/ / Transmission de données entre des contrôleurs d’interface sur Xcode 8.0 Swift 3.0 - swift, xcode, swift3, apple-watch, wkinterfacecontroller

Passage de données entre contrôleurs d'interface sur Xcode 8.0 Swift 3.0 - swift, xcode, swift3, apple-watch, wkinterfacecontroller

Je veux passer une chaîne entre deux contrôleurs d'interface. Sur InterfaceController1, je veux créer une variable comme:

var level:String = ("easy")

et pouvoir ensuite accéder à cette variable sur InterfaceController2.

Je préférerais ne pas utiliser de variables globales car je suis conscient qu'elles ne sont pas recommandées.

Il y a une réponse sur StackOverFlow mais elle a été créée lorsque Swift 1 était sorti et je ne peux pas trouver de réponse à jour.

Merci

Réponses:

0 pour la réponse № 1

Vous avez plusieurs options pour y parvenir.

  1. Utilisation pushController(withName:,context:) Et mettre level comme argument d’entrée de contexte, puis dans InterfaceController2 "s awake(withContext:) utiliser cette variable.
  2. Utilisez singletons (déclarez la variable statique) si vous devez accéder à la variable InterfaceController2 à partir de plusieurs classes ou si vous ne accédez pas directement à InterfaceController2.

Si vous devez uniquement configurer cette variable à partir de InterfaceController1 et si vous présentez directement InterfaceController2 à partir de InterfaceController1, l'option 1 est la méthode préférée.