操场上的Swift代码与实际的类

时间:2014-06-09 14:05:42

标签: swift swift-playground

奇怪的事情发生在这里。以下代码:

String(Int(date.timeIntervalSince1970*1000))

在操场上工作,但不在课堂上。它与EXC_BAD_INSTRUCTION崩溃。

任何想法为什么?或者,如何获取上述NSTimeInterval的字符串?

提前致谢!

编辑:我需要结果为Int,例如1402324472549,而不是1402324472549.64。

3 个答案:

答案 0 :(得分:4)

在类定义中:

var date = NSDate()
let myDateString = String(Int64(date.timeIntervalSince1970()*1000))
println("Seconds = \(myDateString)")

答案 1 :(得分:2)

不确定根本原因,但它与类型转换有关。这有效:

var date = NSDate()
var asString = "\(Int(date.timeIntervalSince1970*1000))"
println(asString)

答案 2 :(得分:2)

崩溃是因为你溢出了一个32位的signed int,默认情况下swift会对所有操作进行边界检查。尝试:

"\(floor(date.timeIntervalSince1970)"