2016-04-26 21 views
0

私はSwift Playgroundで以下のコードを実行しました。 "First Seconds"のカウントが5で、Second Secondsのカウントが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)") 

答えて

1

あなたはタイプミスがあります。

let seconds1 = datecomponenets.second 

は、予想通り、それが動作します

let seconds1 = datecomponenets1.second 

であるべき。

関連する問題