私はCoreData
のコードを書いていました。私のデータモデルにはnameとmoneyAmountが含まれています。ここで今、問題は私のmoneyManager.addMoney
がString
とDouble
を必要とすることであるコアデータとタイプAnyObjectからdoubleを作成しますか? Swift
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")
}
と私は悩みを持っているコードの一部です。しかし、このコードでは、私が得るエラーは次のようになります。
オプションチェーンは効果がなく、「Anyオブジェクト」を生成しています。
AnyObject型の値を変換できませんか?予想される引数型「Double」
意味が分かりませんAnyobject
。私はそれが正しく動作するように任意のオブジェクトを二重に変換する必要があると思いますか?それは参照のオブジェクトの種類をコンパイル時に知る方法はありませんので、あらかじめ
おかげ
moneyAmountがDoubleになっている場合は、let moneyAmount = item.valueForKey( "moneyAmount")を次のようにキャストできます。 Double – Bhushan
moneyAmountが2倍であることを確認しましたか?例えば次のようなものがあります:let moneyAmount = Double(item.valueForKey( "moneyAmount")) – Dominic
はい、私は実際にそれらの両方を行いました。私はドミニクが言ったことを試してみたが、二重にしかならないにもかかわらずまだエラーが出ている – KarolisShp