【问题标题】:Getting an error regarding the depreciation of API 'set value for key on a NSObject'收到有关 API 'set value for key on a NSObject' 折旧的错误
【发布时间】: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


【解决方案1】:

这里你必须将@objcMembers 添加到NSObject 类中。

【讨论】:

    猜你喜欢
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 2019-11-16
    • 1970-01-01
    相关资源
    最近更新 更多