Xcode 9:observeValue 函数的基于块的 KVO 违规

Jay*_*bey 7 shell xcode key-value-observing ios swift4

我在项目中启用了SwiftLint,它对以下功能发出警告:

override func observeValue(forKeyPath keyPath: String?, of _: Any?, change: [NSKeyValueChangeKey: Any]?, context _: UnsafeMutableRawPointer?) {
    . . .
}
Run Code Online (Sandbox Code Playgroud)

截屏

Shell 脚本调用警告:基于块的 KVO 违规:使用 Swift 3.2 或更高版本时,更喜欢带有关键路径的基于新块的 KVO API。

有什么解决办法吗?

dim*_*mdy 9

在这里制作 Block Base KVO 的好教程

class CounterModel : NSObject {

    @objc dynamic var value = 0
    @objc dynamic var messages = [String]()

}


model.observe(\.value, options: [.initial]) { (model, change) in
    self.label.text = String(model.value)
}
Run Code Online (Sandbox Code Playgroud)

  • 您的链接已损坏。 (5认同)