每 (N) 秒刷新 WebView

Refresh WebView every (N) seconds

我正在寻找一个代码,通过它我可以每 N 秒刷新一次 webView。我得到的绝妙答案很少,但由于我是 iOS 开发的新手,所以我无法确定我需要在哪里放置刷新片段。

这是我的代码:

import UIKit
import WebKit

class ViewController: UIViewController {

    var webView: WKWebView!
    var websites = "www.example.com/start/home.asp"



    override func loadView() {
        webView = WKWebView()
        webView.navigationDelegate = self as? WKNavigationDelegate
        view = webView


    }


    override func viewDidLoad() {
        super.viewDidLoad()

        let url = URL(string: "https://" + websites)!
        webView.load(URLRequest(url: url) as URLRequest)
        webView.allowsBackForwardNavigationGestures = true

    }


    //MARK:- WKNavigationDelegate

    func webView(webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError) {
        print(error.localizedDescription)
    }
    func webView(webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
        print("Strat to load")
    }
    func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
        print("finish to load")
    }

}

这是我要添加的片段:

[NSTimer scheduledTimerWithTimeInterval:5 target:selfselector:@selector(updateWeb) userInfo:nil repeats:YES];

-(void)updateWeb
{
    [webView reload];
}

如有任何帮助,我们将不胜感激。

可以使用NSTimer每5秒调用一次方法,使用UIWebview的-reload方法

override func viewDidLoad() {
    super.viewDidLoad()

    let url = URL(string: "https://" + websites)!
    webView.load(URLRequest(url: url) as URLRequest)
    webView.allowsBackForwardNavigationGestures = true

    Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(self.update), userInfo: nil, repeats: true)
}


@objc func update() {
     webView.reload()
}