我想在presentViewController
出现时alertController
。
我想,如果用户现在按下 Ok 按钮,我想ViewController
在 PushNotification 上显示来自 AppDelegate 的消息。
我开始了解在UIAlertController
不同线程上呈现的 SO,因此希望ViewController
在用户按下 Ok 按钮并移至主线程后呈现如下:
func presentRScreenFromRootViewController()
{
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let rViewController = storyboard.instantiateViewControllerWithIdentifier("rsh") as! R_SVC
dispatch_async(dispatch_get_main_queue(),{
self.window?.rootViewController?.presentViewController(rViewController, animated: true, completion: nil)
});
}
但我收到警告:
Attempt to present <BB.R_SVC: 0x15b983600> on <SWRevealViewController: 0x15652df00> which is already presenting <UIAlertController: 0x15b4f2dd0>
这是因为视图控制器正在呈现警报控制器。其他时候它运行良好..我的 rootViewController 更改并移动到下一个屏幕..但是当有 UIAlertController 时,我收到警告,因为尝试呈现不在视图层次结构中的视图控制器
我究竟做错了什么?