[英]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.