【发布时间】:2016-06-15 12:40:38
【问题描述】:
我正在为CoreData 编写代码。我的数据模型包括名称和moneyAmount。这是我遇到问题的代码部分
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.addMoney 需要String 和Double。但是,使用此代码,我得到的错误是:
可选链没有效果,已经产生'Anyobject?'
无法转换 AnyObject 类型的值?到预期的参数类型“双”
我不太明白Anyobject 是什么意思。我认为我应该将 anyobject 转换为 double 以使其正常工作?
提前致谢
【问题讨论】:
-
如果你确定 moneyAmount 是 Double,你可以像 let moneyAmount = item.valueForKey("moneyAmount") 那样转换它!双
-
您是否考虑过确保moneyAmount 是双倍的?例如类似于: let moneyAmount = Double(item.valueForKey("moneyAmount"))
-
是的,我确实做了两个,第一个有效。而且我也尝试了多米尼克所说的,但是,即使它只能是双重的,我仍然遇到错误
标签: ios iphone swift core-data