我从名为“myBrowser”的视图控制器中删除观察者时遇到问题。我有一个 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 已被释放,而键值观察者仍向其注册”...我尝试将 removeObserver 放在 viewDidDisapper 中,在 viewWillDisappear 中,但如果我在 progressView 栏完全加载之前按下按钮,我的应用程序仍然崩溃.
我该如何解决这个问题?