在调用任何服务方法之前,我正在检查是否存在互联网连接。如果没有互联网,我正在显示警报,如果我点击确定按钮,我想转到根视图控制器。
这是我的代码:
if TLReachability.isConnectedToNetwork() == true{
// do here
}
else {
let navigationController = UIApplication.sharedApplication().keyWindow?.rootViewController as! UINavigationController
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let changeViewController = mainStoryboard.instantiateViewControllerWithIdentifier("TLLoginViewController") as! TLLoginViewController
navigationController.presentViewController(changeViewController, animated: true, completion: nil)
}
答案 0 :(得分:0)
let alert:UIAlertController = UIAlertController.init(title: "ALERT", message: "NO INTERNET", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Cancel, handler: { action -> Void in
let rootViewController = mainStoryboard.instantiateViewControllerWithIdentifier("RootViewController") as! RootViewController
navigationController.presentViewController(changeViewController, animated: true, completion: nil)
}))
self.presentViewController(alert, animated: true, completion: nil)
答案 1 :(得分:0)
尝试在主线程上调用您的代码:
dispatch_async(dispatch_get_main_queue(), {
let navigationController = UIApplication.sharedApplication().keyWindow?.rootViewController as! UINavigationController
navigationController.popToRootViewControllerAnimated(true)
})