私は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))
NSNumberをDoubleにキャストしてみてください。このコードは遊び場で機能します:
let aNumber: NSNumber = 1234567.89
let aDate = NSDate(timeIntervalSinceReferenceDate: Double(aNumber))