我读到NSObject.observe<Value>()
是用于注册KVO观察者的新API(在Swift 4中引入),它支持Swift关键路径表达式和闭包。我想知道新API中注销观察者的方法是什么?
observe<Value>()
方法返回一个NSKeyValueObservation
对象,该对象没有显式取消观察的方法(根据其代码,当该对象由ARC释放时,它会隐式执行此操作)。因此,似乎唯一的方法是使用使用旧键路径String参数的旧NSObject.removeObserver()
吗?
我也发现很难找到此observe()
API的文档。 NSObject
文档中没有提及它(该文档包含NSObject
的描述,但没有此observeValue()
的描述),并且XCode中的代码完成功能对此不起作用。我发现苹果官方文档中唯一提到它的地方是本文observe<Value>
。那使我思考这是不完整的还是正在进行的工作? (但是鉴于它是在Swift 4时间框架中引入的,我对此表示怀疑)。
<< [示例