如果没有互联网连接转到swift

时间:2016-03-16 12:01:42

标签: swift rootviewcontroller

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

这是我的代码:

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

2 个答案:

答案 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)
})