升级的4.0以后使用setValueForKey赋值时会走setValueForUndefinedKey方法
原因是在3.0时编译器会自动添加@objc 是成员变量具有了Objective-C运行时的特性
4.0时需要手动添加@objc
如果所有的变量都要具备运行时特点也可以用@objcMembers关键字
@objcMembers
class Model: NSObject {
@objc var name: String = ""
}
升级的4.0以后使用setValueForKey赋值时会走setValueForUndefinedKey方法
原因是在3.0时编译器会自动添加@objc 是成员变量具有了Objective-C运行时的特性
4.0时需要手动添加@objc
如果所有的变量都要具备运行时特点也可以用@objcMembers关键字
@objcMembers
class Model: NSObject {
@objc var name: String = ""
}