[英]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:
只能計算秒數。
有沒有辦法可以計算在幾毫秒內經過的時間?
換句話說, 我可以計算的最小單位是什么?
CFAbsoluteTime before = CFAbsoluteTimeGetCurrent();
CFAbsoluteTime after = CFAbsoluteTimeGetCurrent();
你的第二種方法是正確的。 將當前日期保存在NSDate
對象中,並使用timeIntervalSinceDate:
來獲取自那時起的傳遞時間。 結果將是NSTimeInterval
類型,它是一個浮點數。 它以秒為單位指定時間差,但由於它是一個浮點數,因此它也可以存儲幾分之一秒。
NSTimeInterval始終以秒為單位指定; 它在10,000年的范圍內產生亞毫秒精度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.