Ios4 NSTimer非重复计时器-检索时间间隔

Ios4 NSTimer非重复计时器-检索时间间隔,ios4,Ios4,我正在使用一个在300秒后调用的NSTimer实例。代码如下所示: timer = [[NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(aMethod) userInfo:nil repeats:NO] retain]; 我理解,因为这是一个非重复计时器,所以[timer timeInterval];返回0。有没有办法得到经过的时间?我需要使用经过的时间(比如20秒),因为当应用程序在iOS4上

我正在使用一个在300秒后调用的NSTimer实例。代码如下所示:

timer = [[NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(aMethod) userInfo:nil repeats:NO] retain];
我理解,因为这是一个非重复计时器,所以[timer timeInterval];返回0。有没有办法得到经过的时间?我需要使用经过的时间(比如20秒),因为当应用程序在iOS4上进入后台时,计时器会被挂起,我需要获取计时器经过的时间,这样我就可以从原来的300减去这个elapsedTime+应用程序在后台的时间,如果超过了时间,我会做些什么

谢谢。

保存当前时间——那么经过的时间就是背景点的当前时间减去该时间

NSDate *timerStartTime = [NSDate date];
后来

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