2012-06-21 4 views
0

Я хотел бы сделать последовательность действий (A и B), используя 2 таймера. Я получаю некоторые проблемы с таймером недействительным ... Правильно ли это? Спасибо !!!NSTimer - последовательность действий - как сделать недействительным таймер?

timerAStart = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(startActivityA) userInfo:nil repeats:NO]; 
timerAStop = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(StopA) userInfo:nil repeats:NO]; 
timerBStart = [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(startActivityB) userInfo:nil repeats:NO]; 
timerBStop = [NSTimer scheduledTimerWithTimeInterval:4 target:self selector:@selector(StopB) userInfo:nil repeats:NO]; 
- (void) StopA { 
[timerAStart invalidate]; 
timerAStart=nil; 
} 
- (void) StopB { 
[timerBStart invalidate]; 
timerBStart=nil; 
} 
+0

Какие у вас проблемы с 'invalidate'? – mopsled

+0

EXC_BAD_ACCESS на линии [timerAStart invalidate]; – Beppino66

+0

Вы используете счетчик дуги или ручного удержания? – Pfitz

ответ

1

Вам не нужно аннулировать действие, так как ваш таймер не повторяется. Если вы посмотрите на документацию, вы увидите, что неповторяющиеся таймеры недействительны.

+0

ОК, я согласен ... моя проблема в том, что A - бесконечный цикл .... Я мог бы остановить его? – Beppino66

+0

Итак, вы говорите, что startActivityA приводит к бесконечному циклу? Можете ли вы опубликовать код для этого? – Dancreek

+0

Dancreek, ваш ответ дал мне правильный путь, чтобы продолжить ... я должен изменить подход и найти что-то, чтобы выйти из цикла, как счетчик ... большое спасибо! Чао – Beppino66

Смежные вопросы