2011-12-15 77 views
26

可能重複:
NSTimer doesn't stopIOS:停止的NSTimer

我有這樣的代碼:

[NSTimer scheduledTimerWithTimeInterval:110.0 
           target:self 
           selector:@selector(targetMethod:) 
           userInfo:nil 
           repeats:YES]; 

- (void) targetMethod:(NSTimer) timer{ 
NSLog(@"Hello World");} 

在targetMethod我可以停止與[計時器無效]的定時器,但是出於這種方法,我該如何停止targetMethod?

回答

69

你可以把你的一個變量NSTimer,並使用invalidate方法停止計時器。如下所示:

NSTimer * myTimer = [NSTimer scheduledTimerWithTimeInterval:110.0 
           target:self 
           selector:@selector(targetMethod:) 
           userInfo:nil 
           repeats:YES]; 

[myTimer invalidate]; 
16

一種方法是創建NSTimer *計時器;作爲一個全局變量,所以你可以有一個定時器的句柄。有些事情喜歡這個:

NSTimer *timer; //global var 

timer = [NSTimer scheduledTimerWithTimeInterval:110.0 
           target:self 
           selector:@selector(targetMethod:) 
           userInfo:nil 
           repeats:YES]; 

要在同一類的地方停止定時器:

[timer invalidate];