2017-08-21 2 views
2

J'ai besoin de savoir si la navigation au démarrage (validation du commit) et la fin (navigation terminée) sont identiques ou non pendant le processus de chargement de WkWebview.Comment comparer l'objet WKNavigation

J'ai essayé de comparer l'objet WKNavigation lequel la documentation indique

... identifier de manière unique une charge de page Web du début à la fin

WKNavigation

I soit utilisé "==" ou "===" pour comparer deux objets mais jamais en mesure de faire correspondre.

Est-il même possible de comparer l'objet WKNavigation et si oui comment le faire?

Répondre

0

Dans Swift 3.2, vous pouvez utiliser la méthode .isEqual() pour comparer deux objets conformes à Equatable, comme le fait WKNavigation.

cas d'utilisation comme ci-dessous:

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 
}