Swift class 错误 WKWebView 已被释放,而键值观察者仍在其中注册

Swift class error WKWebView was deallocated while key value observers were still registered with it

我在从名为 "myBrowser" 的 viewController 中删除观察者时遇到问题。我有一个 ProgressView 栏,这是我添加观察者的代码:

 webView!.addObserver(self, forKeyPath: "estimatedProgress", options: .New, context: nil)

在这个控制器中,我有一个按钮可以让我返回到另一个控制器:

@IBAction func disa(sender: UIBarButtonItem) {

self.navigationController?.popViewControllerAnimated(true)

}

如果我添加

webView?.removeObserver(self, forKeyPath: "estimatedProgress")

在 disa func 中,我的应用程序崩溃,因为 "WKWebView was deallocated while key value observers were still registered with it"...我尝试将 removeObserver 放在 viewDidDisapper 中,在 viewWillDisappear 中,但如果我在 progressView 栏完全加载之前按下按钮,我的应用程序仍然会崩溃。

我该如何解决这个问题?

deinit方法中删除观察者

deinit {
    webView!.removeObserver(self, forKeyPath: "estimatedProgress")
}