我有一个作为秒表基础的 NSTimer。
- (void)startTimer
{
_startDate = [NSDate date];
_timer = [NSTimer scheduledTimerWithTimeInterval:1.0/10.0
target:self
selector:@selector(updateTimer)
userInfo:nil
repeats:YES];
}
我需要记录单圈时间,但我遇到了两个单独的单圈时间不应共享任何重叠的问题。
即如果第 1 圈从 0.0 开始并在 10.0 结束,那么第 2 圈应该从 10.01 开始但是在有圈的那一刻,我只取当前时间,计算上一圈的结束和新的开始一:
- (void)lap
{
NSTimeInterval timeInterval = [[NSDate date] timeIntervalSinceDate:_startDate];
timeInterval += _timeElapsed;
_startDate = [NSDate date];
}
我需要保存每圈的开始/结束时间以及它们的总长度。但是如果不同圈的开始/结束时间相同,我看不出如何做到这一点。
有没有人遇到过这个问题?任何想法我可以如何明智地解决它。我想到的一切都感觉很脆弱。