基本ロジックでは、すべてをオーバーライドするので、オーバーライド関数をif else文に入れることはできません。しかし、私はまだelse文にsegueの準備を入れる必要があります。したがって、私が働いているコードの仕方は、ユーザーがボタンを2回押してゲームに勝つと、得点が表示される勝者ビューコントローラーに行く場合です。彼らが失った場合、スコアのないView Controllerに移動します。だから私はelse if counter < 9.9 && level == 2
部分のupdateTimer()
にオーバーライド機能のセグを置く必要があります。オーバーライド関数をif else文に挿入する方法
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let DestViewController : winViewController = segue.destination as! winViewController
DestViewController.LebelText = labelx.text!
}
func updateTimer() {
counter += 0.1
labelx.text = String(format: "%.1f", counter)
if counter > 10 && level < 2 {
let next = self.storyboard?.instantiateViewController(withIdentifier: "loseViewController") as? loseViewController
self.present(next!, animated: true, completion: nil)
} else if counter < 9.9 && level == 2 {
let nextc = self.storyboard?.instantiateViewController(withIdentifier: "winViewController") as? winViewController
self.present(nextc!, animated: true, completion: nil)
} else {
return
}
}
私はあなたが何を求めているのか分かりませんが、ストーリーボード内でセグを定義し、if文の2つの枝で定義してから、performSegueWithIdentifier(sender:)を'instantiate..'と' present ... 'を返します。 –