NSTimer非重复计时器 - 检索timeInterval

时间:2010-07-30 15:48:04

标签: ios4

我正在使用300秒后调用的NSTimer实例。代码是这样的:

timer = [[NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(aMethod) userInfo:nil repeats:NO] retain];

据我所知,因为这是一个非重复的计时器,那[timer timeInterval];返回0.有没有办法可以获得经过的时间?我需要使用经过的时间(例如20秒),因为当应用程序在iOS4上进入后台时,计时器被暂停,我需要获取计时器的已用时间,这样我就可以减去应用程序所用的时间+时间原始300的背景,如果超过时间就做点什么。

感谢。

1 个答案:

答案 0 :(得分:3)

保存当前时间 - 然后经过的时间是背景点减去该时间的当前时间。

NSDate *timerStartTime = [NSDate date];

NSTimeInterval elapsed = [[NSDate date] timeIntervalSinceDate:timerStartTime];