我对Swift还是很陌生,所以我一直在Swift中进行某种类型的转换。
这是我的代码:
if let matchDateTime = item["matchDate"].number {
_matchDateTime=matchDateTime
}
println(_matchDateTime)
let date = NSDate(timeIntervalSince1970:_matchDateTime)
但是它给了我错误:
Extra argument timeSinceInterval1970 in call
我不知道该错误是什么,可能是将
NSNumber
转换为NSTimeInterval
,但是如何?不知道。任何可以帮助我解决这个问题的人。
提前致谢。
最佳答案
NSTimeInterval
只是一个类型化的Double
。
因此,从NSNumber强制转换为NSTimeInterval:
let myDouble = NSNumber(double: 1.0)
let myTimeInterval = NSTimeInterval(myDouble.doubleValue)
编辑:
反之亦然。
let myTimeInterval = NSTimeInterval(1.0)
let myDouble = NSNumber(double: myTimeInterval)
编辑2:
正如@DuncanC在下面的注释中指出的那样,您可以直接在方法调用中进行强制转换:
let date = NSDate(timeIntervalSince1970: NSTimeInterval(_matchDateTime))
关于swift - 在Swift中将NSNumber转换为NSTimeInterval,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30195778/