0

我在 Swift Playground 中执行了以下代码。我预计“第一秒”计数为 5,“第二秒”计数为 10,因为两者都具有相同的 startDt 作为起点。但结果都是输出中的 5。我在这里错过了什么吗?

let startDt = NSDate()
sleep(5)
let endDt = NSDate()
let calendar = NSCalendar.currentCalendar()
let datecomponenets = calendar.components([NSCalendarUnit.Second] , fromDate: startDt, toDate: endDt, options: [] )
let seconds = datecomponenets.second
print("First Seconds: \(seconds)")

sleep(5)
let endDt1 = NSDate()
let calendar1 = NSCalendar.currentCalendar()
let datecomponenets1 = calendar.components([NSCalendarUnit.Second] , fromDate: startDt, toDate: endDt1, options: [] )
let seconds1 = datecomponenets.second
print("Second Seconds: \(seconds1)")
4

1 回答 1

1

你有一个错字。

let seconds1 = datecomponenets.second

应该

let seconds1 = datecomponenets1.second

然后它将按预期工作。

于 2016-04-26T10:57:58.537 回答