У меня есть таймер, который срабатывает при вызове метода viewWillAppear
и недействителен при вызове метода viewDidDisappear
. Но после определенного переключения между видами таймер продолжает стрелять даже после того, как он был признан недействительным. В чем проблема?NSTimer не останавливается
Вот мой код:
NSTimer *timer;
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
timer = [NSTimer scheduledTimerWithTimeInterval: 0.2f
target: self
selector:@selector(timerAction)
userInfo:nil
repeats:YES];
}
-(void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
[timer invalidate];
timer = nil;
}
-(void) timerAction
{
NSLog(@"timerAction");
}
Как это сделать в ARC, когда 'keep' и' release' не разрешены? –
Для iOS 7/8 см. Ответ ниже, используя пару таймеров 'repeat: NO'. –