精确测量CocoaTouch中的时间间隔

时间:2012-10-26 21:01:14

标签: objective-c cocoa-touch time intervals

我有一个类必须具有某种时间戳的属性,表示创建此类实例的时刻。然后当有这个类的多个对象时,我需要找到创建这些对象之间的时间间隔。 通常的间隔时间最长可达10秒,因此我需要至少1秒的精度,但是0.1-0.001秒的情况会好得多。

这个房产最好的选择是什么?

据我所知,NSDate的精度高达1秒。 我相信我需要与CFTimeInterval相关的东西。我已经将它用于CADisplayLink的视图动画。它为屏幕更新的每个时刻提供了CFTimeInterval值,我可以非常容易地计算两个CFTimeInterval之间的时间间隔。 但是如何在任何时刻将值分配给此CFTimeInterval?

1 个答案:

答案 0 :(得分:2)

正如Matthias Bauch的评论所指出的那样,NSDate将会起作用。您也可以使用CFTimeIntervals:

CFTimeInterval currentTime = CFAbsoluteTimeGetCurrent();

请注意,此函数和NSDate都基于绝对参考日期(在本例中为2000年1月1日)。这意味着如果在应用程序运行时更改了系统的时钟,则在时钟更改之前获得的值将无法与之后获得的值进行正确比较。