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

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

ios - Xcode 9 : Block Based KVO Violation for observeValue function-LMLPHP

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

有什么解决办法吗?

最佳答案

制作 Block Base KVO Here 的好教程

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)
}

关于ios - Xcode 9 : Block Based KVO Violation for observeValue function,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49747536/

10-12 01:52