1.在swift 4.0中使用系统方法setValuesForKeys()进行赋值,明明有这个属性,但它还是走
override func setValue(_ value: Any?, forUndefinedKey key: String)
这个未定义的方法
在swift 4.0以下就可以正常赋值,只有swift 4.0不行。
报错:this class is not key value coding-compliant for the key xxxxx。
解决:在属性前面加上@objc,或者在类的上面加上@objcMembers。原因是因为在Swift 4中继承 NSObject 的 swift class 不再默认全部 bridge 到 OC。
2.关于Swift字典 - 模型转换时报错:unrecognizedselectorsenttoinstancexxx
原因:在将字典转换为模型过程中,出现了模型的属性数据类型和字典值的类型不匹配情况;
解决:将模型中的属性数据类型改为和字典一致;