请让我知道我在下面的陈述中做错了什么,它没有编译(我将Int64转换为Float)
func connection(connection: NSURLConnection, didReceiveResponse response: NSURLResponse) {
NSLog("data came")
var expectedDownloadSize:Float = (Float) response.expectedContentLength
}
答案 0 :(得分:1)
看起来你在几个地方的Obj-C和Swift之间感到困惑。正如罗伯特所说,你需要将所需的值放在围绕类型的括号内,例如:Float(response.expectedContentLength).
同样值得注意的是,NSLog
已在Swift中被弃用,而不是print(...)
}。此外,您不再需要显式声明变量类型,因为Swift会自动选择它。
答案 1 :(得分:0)
Swift中的Casting略有不同:
var expectedDownloadSize = Float(response.expectedContentLength)
您实际上使用的是Float
的初始化,而不是强制转换为值,而是使用Int64
参数。
答案 2 :(得分:0)
在swift中你可以这样做:
var expectedDownloadSize:Float = Float(response.expectedContentLength)
尝试