Я понимаю, что с базовой логикой я не могу поместить переопределяющую функцию в инструкцию if else, потому что она переопределит все. Тем не менее, мне все равно нужно включить инструкцию if else для подготовки к segue. Таким образом, способ, которым я работаю, работает, если пользователь дважды нажимает кнопку, они выигрывают игру и, следовательно, идут к контроллеру просмотра победителей, где отображается оценка. Если они проиграют, они идут в контроллер просмотра без оценки. Поэтому мне нужно поставить переопределить функцию segue в updateTimer()
, в части else if counter < 9.9 && level == 2
.Как вставить функцию переопределения в оператор 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
}
}
Я не совсем понимаю, о чем вы спрашиваете, но я думаю, что вы хотите определить segues в своей раскадровке, а затем в двух ветвях вашего оператора if, вызовите 'performSegueWithIdentifier (sender:)' вместо 'экземпляр'' и' present ...'. –