Как остановить событие NStimer? Возможный дубликат: NSTimer не останавливается В моем приложении я использую NStimer для вызова функции анимации каждые 3 секунды. Я хочу остановить этот таймер и вызвать другое событие, пока таймер все еще работает. Возможно ли это? Ответ 1 @interface NSTimer *autoTimer; @implementation // Start timer autoTimer = [NSTimer scheduledTimerWithTimeInterval:(3.0) target:self selector:@selector(autoTimerFired:) userInfo:nil repeats:YES]; // Stop timer: [autoTimer invalidate]; autoTimer = nil; Ответ 2 Во-первых, вы хотите сохранить указатель на таймер self.packetTimer = [NSTimer timerWithTimeInterval:CONNECTION_TIMEOUT target:self selector:@selector(connectionTimeout:) userInfo:nil repeats:NO]; [[NSRunLoop currentRunLoop] addTimer:packetTimer forMode:NSDefaultRunLoopMode]; Если в другом месте вашего кода вы хотите его отменить, просто позвоните: [self.packetTimer invalidate]; self.packetTimer = nil;
Ответ 1 @interface NSTimer *autoTimer; @implementation // Start timer autoTimer = [NSTimer scheduledTimerWithTimeInterval:(3.0) target:self selector:@selector(autoTimerFired:) userInfo:nil repeats:YES]; // Stop timer: [autoTimer invalidate]; autoTimer = nil;
Ответ 2 Во-первых, вы хотите сохранить указатель на таймер self.packetTimer = [NSTimer timerWithTimeInterval:CONNECTION_TIMEOUT target:self selector:@selector(connectionTimeout:) userInfo:nil repeats:NO]; [[NSRunLoop currentRunLoop] addTimer:packetTimer forMode:NSDefaultRunLoopMode]; Если в другом месте вашего кода вы хотите его отменить, просто позвоните: [self.packetTimer invalidate]; self.packetTimer = nil;