2017-06-26 5 views
-1

は、だから私は現在、私は2つの変数を使用しています、別の変数に等しくなるように変数を割り当てるリセットし続けますそれは私が、それぞれのプレイヤーの名前を印刷しようとすると、しかし、彼らは再びnullに等しい、チェックを渡します(これは、変数の現在の値を確認するために行われます)変数の内容は、入力を取得するには、以下に示すよう

if(endGameWinner == true) 
     { 
      print("Player one Name : " + playerOneName) 
      print("Player two Name : " + playerTwoName) 
      gameResultLabel.text = currentPlayerName 
     } 

enter image description here

変数に割り当てられた値が

にこれらが呼び出される唯一の他の時間をリセットして、なぜ私は理解していない

はここにある:

if(player % 2 != 0) 
    { 
     player = playerone 
     currentPlayerName = playerOneName 
    } 
    else 
    { 
     player = playertwo 
     currentPlayerName = playerTwoName 
    } 

おかげで、

アレックス

+0

これらのメソッドはいつ呼び出されますか? 'playerOneName'と' playerTwoName'はどこで定義されていますか?もっと文脈を見せてくれますか? – Sweeper

答えて

0

私は考え出し私は2つのviewContollersで作業していたので、次のView Controllerを表示するためにSegueを使用していたので、この問題を修正する方法を説明しました。その結果、最初のviewControllerから2番目のviewControllerにプレーヤー名が割り当てられている情報を渡す必要がありました。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    let gameViewController = segue.destination as! gameViewController 
    gameViewController.playerOneName = player1TextBox.text! 
    gameViewController.playerTwoName = player2TextBox.text! 
} 

これは私が、私はその後、名前を保存するために、そのクラスに変数を割り当てることができサブクラスgameViewControllerにアクセスすることを許可:私はここに示されているようセグエ機能の準備に使用これを行うには

。これにより、ラベルのテキストを変更することができました。

参考:https://www.youtube.com/watch?v=7fbTHFH3tl4

関連する問題