Bei*_*shi 9 casting nsnumber nstimeinterval swift ios8
因为我对Swift很新,所以我在Swift中遇到了某种类型的转换.
这是我的代码:
if let matchDateTime = item["matchDate"].number {
_matchDateTime=matchDateTime
}
println(_matchDateTime)
let date = NSDate(timeIntervalSince1970:_matchDateTime)
Run Code Online (Sandbox Code Playgroud)
但它给了我错误:
Extra argument timeSinceInterval1970 in call
Run Code Online (Sandbox Code Playgroud)
我不知道那个错误,可能会被转换NSNumber为NSTimeInterval怎么样?不知道.
任何可以帮助我解决这个问题的人.
提前致谢.
Bla*_*man 32
NSTimeInterval只是一个类型化的Double.
因此从NSNumber转换为NSTimeInterval:
let myDouble = NSNumber(double: 1.0)
let myTimeInterval = NSTimeInterval(myDouble.doubleValue)
Run Code Online (Sandbox Code Playgroud)
编辑:反之亦然.
let myTimeInterval = NSTimeInterval(1.0)
let myDouble = NSNumber(double: myTimeInterval)
Run Code Online (Sandbox Code Playgroud)
编辑2:正如@DuncanC在下面的评论中指出的那样,你可以直接在方法调用中进行投射:
let date = NSDate(timeIntervalSince1970: NSTimeInterval(_matchDateTime))
Run Code Online (Sandbox Code Playgroud)
尝试将您的NSNumber转换为Double.此代码适用于游乐场:
let aNumber: NSNumber = 1234567.89
let aDate = NSDate(timeIntervalSinceReferenceDate: Double(aNumber))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14315 次 |
| 最近记录: |