2017-05-04 194 views
0

我有兩個UIAlertController可以顯示 - 一個用於註冊一個帳戶,另一個用於登錄。他們可以提供一個可選的消息。UIAlertController消息不會顯示

func present(alertController: UIAlertController? = nil, message: String? = nil) { 
    self.currentAlertController = alertController ?? self.currentAlertController 
    self.currentAlertController.message = message 
    (UIApplication.shared.delegate as! AppDelegate).window?.rootViewController?.present(self.currentAlertController, animated: true, completion: nil) 
} 

它看起來像消息通過函數進行。

"Email or password invalid"

但後來它不會顯示。

Nothing here

我不能說,如果我失去了一些東西基本,或有還有一些關於UIAlertController我不知道的。

+0

你爲什麼要引用rootViewController而不是執行操作的currentVC導致顯示警報? – SeanLintern88

+0

另外我相信消息必須在初始化程序中設置?它也很奇怪,你保留一個參考:/因爲你得到所有你需要做的動作回調? – SeanLintern88

+1

嘗試顯示警報並在 – ColdGrub1384

回答

0

切換當前動作和信息的設置的伎倆。

func present(alertController: UIAlertController? = nil, message: String? = nil) { 
    self.currentAlertController = alertController ?? self.currentAlertController 
    (UIApplication.shared.delegate as! AppDelegate).window?.rootViewController?.present(self.currentAlertController, animated: true, completion: nil) 
    self.currentAlertController.message = message 
} 

另一件事是,初始化UIAlertController開始說起,如果你想在消息開始空白,但允許它在稍後更新時,該消息應該是""而不是nil