我在项目中启用了 SwiftLint,它会针对以下函数发出警告:
override func observeValue(forKeyPath keyPath: String?, of _: Any?, change: [NSKeyValueChangeKey: Any]?, context _: UnsafeMutableRawPointer?) {
. . .
}
Shell 脚本调用警告:基于 block 的 KVO 违规:在使用 Swift 3.2 或更高版本时,首选基于 block 的新 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/