-3

在调用任何服务方法之前,我正在检查是否有互联网连接。如果没有互联网,我会显示一个警报,如果我单击确定按钮,我想转到根视图控制器。

这是我的代码:

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)
}
4

2 回答 2

0

尝试在主线程上调用您的代码:

dispatch_async(dispatch_get_main_queue(), {
  let navigationController = UIApplication.sharedApplication().keyWindow?.rootViewController as! UINavigationController 
  navigationController.popToRootViewControllerAnimated(true)
})
于 2016-03-16T12:36:44.747 回答
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)
于 2016-03-16T12:14:20.987 回答