This question already has an answer here:
Could not find an overload for '*' that accepts the supplied argument
(1个答案)
4年前关闭。
我正在用Swift编写代码。
我创建了一个
然后,我有另一种方法可以从文件中读取字典数据:
为什么我得到上面的编译器错误?如何摆脱它?
(1个答案)
4年前关闭。
我正在用Swift编写代码。
我创建了一个
NSMutableDictionary
,我将整数数据存储在其中,并将字典保存到文件中:var myDict : NSMutableDictionary
//store Int value
let num : Int = 6
myDict.setValue(num, forKey: “num”)
//save myDict to file
myDict.writeToFile(FILE_PATH, atomically: false)
然后,我有另一种方法可以从文件中读取字典数据:
let myDictFromFile = NSDictionary(contentsOfFile: FILE_PATH)
//force cast to Int
let num = myDictFromFile?.valueForKey(“num”) as! Int
//COMPILER ERROR: Could not find an overload for ‘+’ that accepts the supplied arguments
let result: Double = num * 30.0 + num * 60.0
为什么我得到上面的编译器错误?如何摆脱它?
最佳答案
Swift不支持此类隐式转换,因此您必须自己进行显式转换。
尝试这个
let result: Double = Double(num) * 30.0 + Double(num) * 60.0