我有几个页面浏览量,每个都有一个webview。所有参考文献都很强。除了使用webview scrollview并设置其委托外,一切正常。我用它来听滚动事件。
设置webview.scrollview的委托并弹出当前视图时会发生这种情况:
objc[37721]: Cannot form weak reference to
instance (0x7fb988fe2800) of class WebViewPageController.
It is possible that this object was over-released,
or is in the process of deallocation.
我在XCode的堆栈跟踪中注意到这发生在:
WKWebView dealloc
WKWebView _updateDelegate
UIScrollView setDelegate
我该怎么做才能解决这个问题?这在使用UIWebView时运行良好,但现在升级到WKWebView会发生这种情况。是否有新的方式来收听滚动事件?
答案 0 :(得分:15)
在视图控制器中实现deinit方法,并将滚动视图委托设置为nil:
deinit {
webView.scrollView.delegate = nil
}