У меня есть функция, которая выглядит так:
@IBAction func showAlert(){
//Some irrelevant code
let alert = UIAlertController(title: "Some Title", message: "Some Message", preferredStyle: .alert)
let action = UIAlertAction(title: "Close this alert", style: .default, handler: {
action in
self.startNewRound()
})
alert.addAction(action)
present(alert, animated: true, completion: nil)
}
Вот updateLabels()
:
updateLabels() {
targetLabel.text = String(targetValue)
scoreLabel.text = String(score)
roundLabel.text = String(round)
Вот некоторые глобальные переменные:
var currentValue: Int = 0
@IBOutlet weak var targetLabel: UILabel!
var targetValue: Int = 0
@IBOutlet weak var scoreLabel: UILabel!
@IBOutlet weak var roundLabel: UILabel!
var round: Int = 0
Вот startNewRound ():
func startNewRound() {
targetValue = Int(arc4random_uniform(100)) + 1
currentValue = 50
slider.value = Float(currentValue)
round += 1
updateLabels()
}
Идея состоит в том, что эта функция вызывается всякий раз, когда нажимается определенная кнопка в моем контроллере основного вида, а затем появляется предупреждение. Как только пользователь закрывает предупреждение, вызывается startNewRound()
.
Однако, с этим текущим кодом, startNewRound()
вызывается только после того, как пользователь снова нажимает кнопку контроллера вида, после того как пользователь уже закрыл предупреждение. Как заставить startNewRound()
запускаться сразу после закрытия оповещения?