簡體   English   中英

我如何計算iOS中的時間?

[英]How do I count time in iOS?

在一段時間過后,我不想設置一個“觸發”(並做某事)的計時器。

因此,我對NSTimer類及其方法不感興趣。

所有我感興趣的是計算經過的時間 ,例如,一些while循環正在執行。 我可以使用NSDate ,如下所示:

NSDate currentDate = [[NSDate alloc] init];

while(someConditionIsTrue)
{
    // executing..
}

timeElapsed = [self timeIntervalSinceDate:currentDate];

NSLog(@"time elapsed was: %i", timeElapsed);

但是,如果我理解正確, timeIntervalSinceDate:只能計算秒數。

有沒有辦法可以計算在幾毫秒內經過的時間?

換句話說, 我可以計算的最小單位是什么?

看看CFAbsoluteTimeGetCurrent()

CFAbsoluteTime before = CFAbsoluteTimeGetCurrent();
CFAbsoluteTime after = CFAbsoluteTimeGetCurrent();

你的第二種方法是正確的。 將當前日期保存在NSDate對象中,並使用timeIntervalSinceDate:來獲取自那時起的傳遞時間。 結果將是NSTimeInterval類型,它是一個浮點數。 它以秒為單位指定時間差,但由於它是一個浮點數,因此它也可以存儲幾分之一秒。

NSTimeInterval始終以秒為單位指定; 它在10,000年的范圍內產生亞毫秒精度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM