如何比较WKNavigation对象

时间:2017-08-21 11:20:40

标签: ios swift webkit wkwebview

在WkWebview的加载过程中,我需要知道开始时的导航(确实提交导航)和结束(即完成导航)是否相同。

我试图比较文档陈述的WKNavigation对象

  

...从头到尾唯一标识网页加载

WKNavigation

我使用“==”或“===”来比较两个对象,但永远无法获得匹配。

甚至可以比较WKNavigation对象,如果是,我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

在Swift 3.2中,您可以使用.isEqual()方法比较符合Equatable的两个对象,如WKNavigation那样。

用例如下:

public override func viewDidLoad() {
    super.viewDidLoad()

    // initial vc setup, including WKWebView instance
    // initialRequest is set as an instance variable for your view controller

    initialRequest = webView.load(someUrlRequest)
}

...

public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    guard let navigation.isEqual(initialRequest) else { return }

    // do your finished loading logic here
}