Swift 中 KVO 的当前最佳实践在这篇 SO 帖子中有很好的记录,看起来像这样:
someObject.addObserver( self, forKeyPath: "someProperty", options: .New,
context: &self.someContext )
我想通过将其封装在ObserversManager(例如)类中来简化内存管理问题,因此我可以执行以下操作:
func observe ( observed: NSObject, observer: NSObject, keyPath: String,
context: Int )
{
observed.addObserver( observer, forKeyPath: keyPath, options: .New,
context: context ) { ... }
}
func removeObserversByObserver ( observer: NSObject ) { ... }
func removeAllObservers () { ... }
问题是上面的func 观察者抛出了以下编译时错误,我目前无法修复,因为官方文档没有详细说明答案。
Could not find member 'New'