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

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

概述我有这段代码在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(attrib 我有这段代码在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提交了一份错误报告.

总结

以上是内存溢出为你收集整理的swift2 – NSManagedObject.setValue(值:AnyObject?,forKey key:String)在Swift 2.0中导致错误全部内容,希望文章能够帮你解决swift2 – NSManagedObject.setValue(值:AnyObject?,forKey key:String)在Swift 2.0中导致错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1044734.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存