2016-04-26 57 views
0

我在Swift Playground中执行了下面的代码。我预计“第一秒”计数为5,“秒”计为10,因为两者的起点都相同。但是结果都是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)") 

回答

1

您有一个错字。

let seconds1 = datecomponenets.second 

应该

let seconds1 = datecomponenets1.second 

然后按预期它会工作。

相关问题