IOS:停止NSTimer

可能重复:
NSTimer不停止

我有这个代码:

[NSTimer scheduledTimerWithTimeInterval:110.0 target:self selector:@selector(targetMethod:) userInfo:nil repeats:YES]; - (void) targetMethod:(NSTimer) timer{ NSLog(@"Hello World");} 

在targetMethod我可以停止计时器与[定时器invalidate],但出于这种方法,我怎样才能停止targetMethod?

你可以保持你的NSTimer在一个variables中,并使用invalidate方法停止定时器。 如下所示:

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

一种方法是创buildNSTimer *计时器; 作为一个全局variables,所以你可以有一个定时器的句柄。 有些事情喜欢这个:

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

要在同一个类中停止计时器:

 [timer invalidate];