核心数据并从AnyObject类型加倍?迅速

时间:2016-06-15 12:40:39

标签: ios iphone swift core-data

我正在为-------- |Total | -------- |1 | |1 | |2 | --------编写代码。我的数据模型包括name和moneyAmount。这是我遇到麻烦的代码部分

CoreData

现在问题是我的 do { let request = NSFetchRequest(entityName: "MoneyData") let results = try context.executeFetchRequest(request) if results.count > 0 { for item in results as! [NSManagedObject] { let name = String(item.valueForKey("name")) let moneyAmount = item.valueForKey("moneyAmount") moneyManager.addMoney(name, moneyAmount: moneyAmount) } } } catch { print("There was an error saving data") } 需要moneyManager.addMoneyString。但是,使用此代码,我得到的错误是:

  

可选链无效,已生成'Anyobject?'

     

无法转换AnyObject类型的值?期望参数类型'Double'

我真的不明白Double的含义。我想我应该将anyobject转换为double以使其正常工作?

提前致谢

1 个答案:

答案 0 :(得分:1)

valueForKey()返回类型为AnyObject的对象,因为在编译时无法知道它引用的对象类型。您可以使用as转换为特定类型。例如,moneyAmount as? Double将生成类型为Double?的对象,其中包含数值,如果对象不是nil类型,则为Double