For those still looking for an answer to this, the marked answer is BS, he just forced his way into getting it accepted.
Using property,
"loading"
and
webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!)
both do the same thing, indicate if the main resource is loaded.
Now, that does not mean the entire webpage/website is loaded, because it really depends on the implementation of the website. If it needs to load scripts and resources (images, fonts etc) to make itself visible, you'll still see nothing after the navigation is completed, because the network calls made by the website are not tracked by the webview, only the navigation is tracked, so it wouldn't really know when the website loaded completely.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…