2011-04-20 82 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];