作者:俏君woo_267 | 来源:互联网 | 2023-05-20 14:11
我正在编写一个Swift Hybrid应用程序,我需要能够知道我的WKWebView何时完成加载请求.我试图使用WKNavigationDelegate来实现这一目标.但是,我可以通过这种方式设置事件的唯一方法是:
webView.navigatiOnDelegate= self
问题是我有一些我希望与我的请求相关联的数据,所以我创建了一个实现WKNavigationDelegate的自定义类,如下所示:
class MyNavigationDelegate : NSObject, WKNavigationDelegate {
init(...) {
//set local variables with passed args
}
func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
println("finished loading")
}
}
然后我像这样分配它:
webView.navigatiOnDelegate= MyNavigationDelegate(my, arguments, here)
webView.loadRequest(...)
页面正在加载,所以我加载它的方式没有问题.我错过了什么?
1> michael..:
委托是一个弱属性,因此请确保您在别处持有委托类实例 - 它甚至可能在它被使用之前被释放.与此同时,自我没有得到解除分配,所以它正在发挥作用.