我在查看名为“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被解除分配,而键值观察者仍然注册了它”...我试过在viewDillDisapar中放入removeObserver,在viewWillDisappear但是如果我在progressView栏之前按下按钮我的应用程序仍会崩溃完全装满了。
我该如何解决这个问题?
答案 0 :(得分:10)
在deinit
方法
deinit {
webView!.removeObserver(self, forKeyPath: "estimatedProgress")
}