在继续执行代码之前,如何检查UIAlertController是否已被解除?

时间:2015-07-31 09:03:50

标签: ios swift

如何在继续执行代码之前检查UIAlertController是否已被解雇?

这是我的一个计时器。

func Counting1(){
    timerCount+=1
    timerLabel.text="\(timerCount) secs"

    if timerRunning==true && timerCount >= timerMaximum {
        stop()
        intervalAlert()

        // Check if UIAlertController has been dismissed before continuing to start2()


        start2()
    }

}

这是我的一个UIAlertControllers的例子。

func configureWorkoutAlert(){
    let title = "Oh no!"
    let message = "You have to configure a workout before starting one!"
    let okText = "Okay."

    let alert=UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)

    let okayButton = UIAlertAction(title: okText, style: UIAlertActionStyle.Cancel, handler: nil)
    alert.addAction(okayButton)



    presentViewController(alert, animated: true, completion: nil)

}

我想等到UIAlertController被解雇,直到继续执行代码......

3 个答案:

答案 0 :(得分:0)

这可能会有所帮助

if (buttonIndex != [alertView cancelButtonIndex]) {
    NSLog(@"Someone pressed OK");
}

我需要看到代码来提供精确的if子句。

答案 1 :(得分:0)

首先在类中定义变量:

var alert:UIAlertController!

接下来使用它而不再次定义,只需执行以下操作以检查其是否被解雇:

if alert != nil {
// still presented 
}else {

// dismissed 
}

答案 2 :(得分:0)

这非常简单,你可以在你的函数中使用UIAlertViewController的完成来检查它是否已被解除并执行代码。

将以下方法替换为我的

let okayButton = UIAlertAction(title: okText, style: UIAlertActionStyle.Cancel, handler: nil)

代替:

当用户按下okay按钮时,计时器将启动!

let okayButton = UIAlertAction(title: okText, style: UIAlertActionStyle.Cancel, handler: { (UIAlertAction) -> Void in

     //Start your second timer
     start2()
})

start2()

中删除第二个计时器func Counting1