Swift 4 KVO无法观察领域列表

时间:2018-08-08 09:35:20

标签: swift realm key-value-observing

Realm文档建议我可以使用KVO观察List的更改。

https://realm.io/docs/swift/latest/#key-value-observation

  

对象子类上的几乎所有托管(不可忽略)属性都是   符合KVO,以及Object和List上的invalidate属性。

我要观察的项目声明为:

let subPoints = List<ECAnyPointData>()

设置观察值时,我在以下行上遇到构建错误:

subPointObs = subject.observe(#keyPath(Subject.subPoints) { [unowned self] object, change in

“#keyPath”的参数是指非“ @objc”属性的“ subPoints”

(它以新样式\ .subPoints keyPath生成,但是出现运行时错误“无法从KeyPath中提取字符串”)

我无法将列表标记为@objc,这会导致生成错误:

无法将属性标记为@objc,因为其类型无法在Objective-C中表示

Realm文档建议观察列表中的更改有些不寻常:

  

列表属性无需标记为动态即可观察到,   与普通属性不同。

这是否意味着Swift 4出现了一些问题,因为动态并不意味着@objc?

0 个答案:

没有答案