2015-04-12 80 views
4

有時我的應用程序崩潰時,兩個UIAlertViews試圖在同一時間呈現。如何在顯示另一個之前檢查是否顯示另一個UIAlertview如何檢查另一個視圖控制器是否可見?

這是我試過的,但它不起作用。

注意:我在這個項目中使用了swift。

if ViewController.isVisable == false {  
    self.presentViewController(AlertView, animated: true, completion: nil)  
} 

回答

13

正如你可以檢查你的問題了嚴格的響應,如果ViewController的觀點有他的窗口:

if ViewController.view.window != nil { 

} 

無論如何,我鼓勵你們採取@Wain的建議。

5

你不應該接近這樣的問題。相反,無論觸發警報顯示應該啓用/禁用視圖控制器視圖顯示/隱藏。未顯示的視圖控制器通常不應通過繼續跟蹤狀態並嘗試更新UI(在其自己的視圖中或使用警報)來消耗資源。

有時候有一些明顯的例外情況,但它應該是您的基準位置,並且可以避免同時出現多個警報視圖(或至少出於同樣的原因/觸發)的問題。

相關問題