2017-09-01 9 views
1

私はViewController内の2つのラベルを更新する関数を持っています。どうすればこのViewControllerに切り替えると、ボタンのようなユーザ入力を必要とせずにこれらのラベルの両方が更新されるのですか?新しいViewControllerに切り替えるときにコードを自動的に実行するにはどうすればいいですか?

@IBOutlet weak var scoreLabel: UILabel! 

@IBOutlet weak var highScoreLabel: UILabel! 

func updateScores() { 
    scoreLabel.text = "\(UserDefaults.standard.integer(forKey: "EndScore"))" 
    if UserDefaults.standard.string(forKey: "LastGameMode") == "Easy" { 
     highScoreLabel.text = "\(UserDefaults.standard.integer(forKey: "EasyHighScore"))" 
    } else if UserDefaults.standard.string(forKey: "LastGameMode") == "Normal" { 
     highScoreLabel.text = "\(UserDefaults.standard.integer(forKey: "NormalHighScore"))" 
    } else if UserDefaults.standard.string(forKey: "LastGameMode") == "Hard" { 
     highScoreLabel.text = "\(UserDefaults.standard.integer(forKey: "HardHighScore"))" 
    } 
} 

答えて

1

あなただけオーバーライドviewWillAppearに必要とその中updateScores()を呼び出します。

あなたのコードは次のようになります。

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 

    updateScores() 
} 
関連する問題