我对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/

10-14 22:25