2015-12-10 68 views
2

我有幾個頁面視圖,每個人都有一個web視圖。所有參考資料都很強。除了使用webview滾動視圖並設置其委託之外,一切正常。我用它來聽滾動事件。WKWebView滾動視圖委託

當設置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會發生這種情況。有沒有新的方式來收聽滾動事件?

回答

11

實現您的視圖控制器的DEINIT方法和設置滾動視圖委託零:

deinit { 
    webView.scrollView.delegate = nil 
} 
+1

我使用Objective-C和最終使用的dealloc方法來設置委託爲零。所以這是正確的答案,很好。這是WKWebView的問題,因爲UIWebView的相同實現不需要它。 – mobilepotato7

+0

解決了我的問題 – leizh00701