在Swift 2.2中将Int64转换为Float

时间:2016-11-30 10:58:20

标签: ios swift

请让我知道我在下面的陈述中做错了什么,它没有编译(我将Int64转换为Float)

 func connection(connection: NSURLConnection, didReceiveResponse response: NSURLResponse) {
    NSLog("data came")
    var expectedDownloadSize:Float = (Float) response.expectedContentLength

}

3 个答案:

答案 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)

尝试