当有两个UIAlertViews
同时尝试呈现时,我的应用有时会崩溃。如何在显示另一个UIAlertview
之前检查是否显示了另一个if ViewController.isVisable == false {
self.presentViewController(AlertView, animated: true, completion: nil)
}
?
这是我尝试过的,但它不起作用。
注意:我在这个项目中使用swift。
{{1}}
答案 0 :(得分:13)
作为对您问题的严格回答,您可以查看ViewController
的观看次数是否有他的窗口:
if ViewController.view.window != nil {
}
无论如何,我鼓励你带@Wain'建议。
答案 1 :(得分:6)
你不应该像这样接近这个问题。相反,当显示/隐藏视图控制器视图时,应启用/禁用触发要显示的警报的任何内容。不显示的视图控制器通常不应该通过继续跟踪状态并尝试更新UI(在其自己的视图中或使用警报)来消耗资源。
有时会出现明显的例外情况,但它应该是您的基线位置,并且会同时避免诸如多个警报视图之类的问题(或者至少出于相同的原因/触发器)。