swift2 – NSManagedObject.setValue(值:AnyObject?,forKey ke
发布时间:2020-12-14 05:41:03 所属栏目:百科 来源:网络整理
导读:我有这段代码在XCode6( Swift 1.2)中运行正常,但不适用于Swift 2: class func findOrCreateT: NSManagedObject(type: T.Type,attribute: String,value: AnyObject?) - T { if let object = T.MR_findFirstByAttribute(attribute,withValue: value) as? T {
我有这段代码在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提交了一份错误报告. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |