swift2 – NSManagedObject.setValue(值:AnyObject?,forKey key:String)在Swift 2.0中导致错误

我有这段代码在XCode6( Swift 1.2)中运行正常,但不适用于Swift 2:
class func findOrCreate<T: NSManagedobject>(type: T.Type,attribute: String,value: AnyObject?) -> T {
    if let object = T.MR_findFirstByAttribute(attribute,withValue: value) as? T {
        return object
    } else {
        let object = T.MR_createEntity() as! T
        if let value:AnyObject = value {
            object.setValue(value,forKey: attribute)
        }
        return object
    }
}

错误显示在包含object.setValue的行上,并带有以下消息:

模糊地使用’setValue(_:forKey :)’

我认为它不承认NSManagedobject类型的对象,但我不是100%肯定,任何线索为什么这种情况非常感激.

我在Apple论坛上发布了同样的问题,并得到了解决此问题的解决方法
let object = T.MR_createEntity() as! NSManagedobject
      if let value:AnyObject = value {   
           object.setValue(value,forKey: attribute)   
      }   
      return object as! T

这按预期工作.我也向Apple提交了一份错误报告.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...