如何根据网络连接执行segue?

时间:2017-11-11 14:28:24

标签: ios swift webview webkit

我是Xcode平台和iOS编程的新手。

  • 如果有网络连接,我想打开webkit视图。如果没有连接,我想打开另一页。
  • 我有第二页的segue,ID为" seque1"。

但是我的代码没有用。我不明白为什么。

import UIKit
import WebKit

class ViewController: UIViewController {
    @IBOutlet weak var webview: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        if Reachability.isConnectedToNetwork(){
            print("Internet Connection Available!")
            let url = URL(string: "https://www.URL.com")
            let request = URLRequest(url: url!)
            webview.load(request)
        }else{
            print("Internet Connection not Available!")
            performSegue(withIdentifier: "seque1", sender: self)
        }
    }
}

1 个答案:

答案 0 :(得分:0)

很棒的问题......

你应该注意AppDelegate.swift上的这些事件,所以你知道,在事情发生之前,你选择会发生什么

使用RootViewController,你决定先来做什么,所以如果用户没有连接,把它们转移到没有连接的viewcontroller,如果有的话,继续它们。

将此代码粘贴到Appdelegate.swift

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {`
        let No_InternetViewController = NoInternetViewController() // your no internet vc
        let WebkitVC = WebkitVC() // orginial one


        if Reachability.isConnectedToNetwork(){

            self.window?.rootViewController = WebkitVC as! WebkitVC

        } else {

            print("Internet Connection not Available!")

            self.window?.rootViewController = No_InternetViewController as! No_InternetViewController
        }
       return true
}