Swift KVO类对象的addObserver/observeValue



我想观察Swift中一个类var的键值变化:

AVCaptureDevice.observe(.isCenterStageEnabled, options: [.new, .old]) { controller, value in
NSLog("Value (value)")
}

但是我得到构建错误:

Instance member 'observe' cannot be used on type 'AVCaptureDevice'; did you mean to use a value of this type instead?
Key path cannot refer to static member 'isCenterStageEnabled'

显然我可以使用旧的KVO方法addObserverremoveObserver,但现在我正试图慢慢摆脱所有这些遗留方法。在类对象上执行KVO的下一个最佳方法是什么?我看到observeValue方法,但不清楚如何在我的上下文中使用它,如果它比传统的addObserverAPI更好?

我认为你不能像文档中所说的那样在var类上添加观察者:

您可以在以下位置添加属性观察者:

  • 您定义的存储属性
  • 继承的存储属性
  • 继承的计算属性

相关内容

最新更新