一個相對簡單的問題,我一直無法找到明確的答案。我的應用程序更復雜,但回答這個問題就足夠了。iOS阻止日期/時間更新?
假設您正在編寫秒錶應用程序。當用戶點擊「開始」,應用商店當前的日期和時間開始時間:
startTime = [NSDate date];
當用戶帶「停止」,該應用商店當前的日期和時間,停止時間:
stopTime = [NSDate date];
持續時間的計算方法是:
duration = [stopTime timeIntervalSinceDate:startTime];
,並顯示的東西,如:
[durationLabel setText:[NSString stringWithFormat:@"%1.2f", duration]];
我的應用程序的時間範圍從2到50秒的典型持續時間。我需要精確到1/100秒(例如2.86秒)。
我假設有一些協議,iOS設備用來保持其時鐘精確(蜂窩或NTP源?)。我擔心的是,在啓動和停止秒錶之間,iOS設備上的時鐘會更新,這會導致當前日期/時間向前或向後移動。如果發生這種情況,計算的持續時間將不準確。
爲了提高代碼效率,我見過幾個與時間方法有關的帖子。有些人建議使用我不熟悉的mach_time.h函數。對我來說哪一個是最好的方法並不明顯。
是否有可能禁用iOS更新日期&時間? mach_absolute_time()不受iOS時鐘更新的影響嗎?
非常感謝!
添
這非常有幫助。我會仔細看看CACurrentMediaTime。 – Tim123