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

标签 ios xcode shell swift4 key-value-observing

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

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

Screenshot

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/

相关文章:

ios - AVAssetExportSession 在运行时不起作用

android - Google Maps URL 在 Android 上的 Xamarin webview 中显示为空白

ios - 如何在 iOS 中显示排行榜集

Xcode 中的 C++ Quantlib EXC_BAD_ACCESS

c - 分析 C 程序 - Time Shell 命令

mysql - 将日期从文件传递到 mysql 的 Shell 脚本

linux - 运行脚本中的权限被拒绝

ios - xcode : storyboard does not reflect changes made in code in ViewController. swift

ios - UIView:从自定义 XIB 加载导致崩溃

ios - Swift 导入模块文件仍然导致未声明的标识符编译器错误