2011-04-20 145 views
1

我有一个应用程序,每3秒钟触发一个事件发送到我的服务器并获取信息。如果在定时器最后一次触发和随后触发事件之间发生事件,我想重置计时器倒数。所以基本上,如果我的其他事件在2.5秒内触发,并且计时器设置为在0.5秒内触发,我想将计时器重置为3秒。我怎样才能做到这一点?如何重置计时器?

我宣布这个定时器:

_timer = [NSTimer scheduledTimerWithTimeInterval:3.0 target: self 
               selector: @selector(getUpdates) 
               userInfo:nil 
               repeats: YES]; 

而且伪:

-(void) anEventHappened 
{ 
    // I got something from the server, I don't need to query it. Reset timer here. 
} 

-(void) getUpdates 
{ 
    // I received no reset, I should check for an update. 
} 

回答

2

工作的呢?

[_timer invalidate]; 
_timer = [NSTimer scheduledTimerWithTimeInterval:3.0 target: self 
              selector: @selector(getUpdates) 
              userInfo:nil 
              repeats: YES];