可能重复:
NSTimer doesn't stop
我有这段代码:
[NSTimer scheduledTimerWithTimeInterval:110.0
target:self
selector:@selector(targetMethod:)
userInfo:nil
repeats:YES];
- (void) targetMethod:(NSTimer) timer{
NSLog(@"Hello World");}
在targetMethod我可以使用[timer invalidate]停止计时器,但是在这种方法之外,我该如何停止targetMethod?
答案 0 :(得分:71)
您可以将NSTimer
保留在变量中,并使用invalidate
方法停止计时器。如下所示:
NSTimer * myTimer = [NSTimer scheduledTimerWithTimeInterval:110.0
target:self
selector:@selector(targetMethod:)
userInfo:nil
repeats:YES];
[myTimer invalidate];
答案 1 :(得分:16)
一种方法是创建NSTimer *计时器;作为全局变量,您可以拥有计时器的句柄。有些事情喜欢这个:
NSTimer *timer; //global var
timer = [NSTimer scheduledTimerWithTimeInterval:110.0
target:self
selector:@selector(targetMethod:)
userInfo:nil
repeats:YES];
要在同一个班级的某处停止计时器:
[timer invalidate];