/ / Xcode 8.0 Swift 3.0のインターフェイスコントローラ間でのデータ受け渡し - swift、xcode、swift3、apple-watch、wkinterfacecontroller

Xcode 8.0 Swift 3.0のインターフェイスコントローラ間でデータを渡す - swift、xcode、swift3、apple-watch、wkinterfacecontroller

私は2つのインターフェイスコントローラの間で文字列を渡したいと思います。 InterfaceController1で私は次のような変数を作成したい:

var level:String = ("easy")

InterfaceController2でその変数にアクセスできるようにします。

グローバル変数を使用しないことを推奨します。

StackOverFlowには1つの答えがありますが、Swift 1が消えたときに作成されました。最新のアンサーを見つけることができません。

ありがとう

回答:

回答№1は0

これを達成するにはいくつかの選択肢があります。

  1. つかいます pushController(withName:,context:) 設定 level コンテキスト入力引数として、次にInterfaceController2で awake(withContext:) その変数を使用します。
  2. 複数のクラスからInterfaceController2の変数にアクセスする必要がある場合や、InterfaceController2に直接移動する必要がない場合は、シングルトン(静的変数を宣言します)を使用します。

InterfaceController1からその変数を設定するだけで、InterfaceController1からInterfaceController2を直接表示する必要がある場合は、オプション1を使用することをお勧めします。