IOS: остановить NSTimer
Возможный дубликат:
NSTimer не останавливается
У меня есть этот код:
[NSTimer scheduledTimerWithTimeInterval:110.0
target:self
selector:@selector(targetMethod:)
userInfo:nil
repeats:YES];
- (void) targetMethod:(NSTimer) timer{
NSLog(@"Hello World");}
в targetMethod Я могу остановить таймер с [timer invalidate], но из этого метода, как я могу остановить targetMethod?
Ответы
Ответ 1
Вы можете сохранить NSTimer
в переменной и остановить таймер с помощью метода invalidate
. Как показано ниже:
NSTimer * myTimer = [NSTimer scheduledTimerWithTimeInterval:110.0
target:self
selector:@selector(targetMethod:)
userInfo:nil
repeats:YES];
[myTimer invalidate];
Ответ 2
Один из способов сделать это - создать таймер NSTimer *; как глобальную переменную, чтобы вы могли иметь дескриптор таймера. Некоторая вещь нравится это:
NSTimer *timer; //global var
timer = [NSTimer scheduledTimerWithTimeInterval:110.0
target:self
selector:@selector(targetMethod:)
userInfo:nil
repeats:YES];
Чтобы остановить таймер где-то в том же классе:
[timer invalidate];