我在正确获取新的 KVO 语法时遇到了一些麻烦。根据苹果文档:
为关键路径创建一个观察者并调用 observe(_:options:changeHandler) 方法。有关密钥路径的更多信息,请参阅密钥和密钥路径。
class MyObserver: NSObject {
@objc var objectToObserve: MyObjectToObserve
var observation: NSKeyValueObservation?
init(object: MyObjectToObserve) {
objectToObserve = object
super.init()
observation = observe(\.objectToObserve.myDate) { object, change in
print("Observed a change to \(object.objectToObserve).myDate, updated to: \(object.objectToObserve.myDate)")
}
}
}
let observed = MyObjectToObserve()
let observer = MyObserver(object: observed)
observed.updateDate()
我正在像这样初始化我的观察:
self.observation = self.webView!.observe(\.webView.isLoading, changeHandler: { (webView, observedChange) in
//code
})
但我收到此错误: