【发布时间】:2019-01-28 02:30:55
【问题描述】:
收到有关 API 'set value for key on a NSObject' 折旧的错误
我正在将我的代码升级到 Swift 4.2 。在运行时升级时,此时代码正在崩溃。
object.setValue(valueToSet, forKey: key)
【问题讨论】:
-
查看错误,似乎问题出在
streetAddress1,而不是您刚刚发布的代码行。 -
要使
setValue(_:forKey:)工作,属性集需要有@objc-setter。您是否在此类属性上添加了@objc?尤其是streetAddress1? -
我已经创建了我拥有的所有 CoreData 实体的副本类,每个实体都有很多属性。我有一个通用方法,它将实体的所有属性映射到其各自的 NSObject 类。那么在所有属性中添加@objc 才是真正的解决方案?
标签: swift xcode10 ios12 swift4.2