在UIAlertController被解除之前,是否可以阻止执行我的代码?

时间:2016-11-10 06:55:59

标签: ios swift uialertcontroller

无论如何都要等待用户通过使用DispatchQueue或其他东西按下解除swift 3中alertController的按钮?

2 个答案:

答案 0 :(得分:1)

将警报解除后,将要执行的所有代码移动到单独的方法中。当您添加UIAlertActions时,请让所有操作'handler参数调用该方法。这样,无论用户按哪个按钮,代码都将永远执行!

答案 1 :(得分:0)

你的意思是这样的吗?

alertController.displayAndWaitUntilDismissed()
// This line is only reached after the alert controller is dismissed
print("Alert controller dismissed.")

理论上,是的,您可以使用调度信号量来阻止,直到警报被解除。但这是一个坏主意 - 我甚至无法想到一个可以接受的场景。只需接受您必须通过在警报控制器操作中执行所需的代码来异步处理它。