我有一个函数,它根据用户通过 UIAlertController 的输入返回一个 Bool 值。由于函数的设置,我必须在用户响应代码之外返回 Bool。我有一个变量,它将携带 Bool 值直到它被返回,但由于整个函数在用户响应之前评估,响应没有效果。有没有办法阻止该函数在得到响应之前继续执行?
最佳答案
我假设您的代码看起来类似于
let alert = UIAlertController(title: "test", message: "test", preferredStyle: UIAlertControllerStyle.Alert)
let ok = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default) { (action: UIAlertAction!) -> Void in
println("EXECUTE CODE HERE")
}
alert.addAction(ok)
self.presentViewController(alert, animated: true, completion: nil)
与其尝试暂停代码的执行(如果可以的话,这会卡住整个应用程序),不如调用回调 block 中的函数 EXECUTE CODE HERE
。
如果您的函数中的某些代码需要在警报之前执行,那么只需将您的代码分成两个函数,或者将应该在返回后执行的代码放在回调 block 中
关于xcode - 暂停函数直到用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28824844/