Времена NSTimer Repeat x только, затем назовите селектор, когда он будет делать недействительным

Прежде всего, я ищу способ создать nstimer scheduledTimerWithTimeInterval, который повторяется каждые 3 секунды 10 раз, затем делает недействительным, как таймер без повторений был бы. Действительно ли это возможно? Идеально дополнительный селектор стрелял бы, после того как таймер делает недействительным также

7
задан Timbo 7 July 2010 в 06:51
поделиться

1 ответ

Просто отслеживайте количество циклов и храните ссылку на объект таймера. Затем просто аннулируйте его, когда сделаете достаточно.

// ivars
int loopCount;
NSTimer *myTimer;

// Method that calls your timer.
- (void)doStuff {
    loopCount++;
    if (loopCount >= 10) {
        [myTimer invalidate];
        myTimer = nil;
    } else {

        //do my stuff here...

    }
}

// Method that kicks it all off
- (IBAction)startDoingStuff {
    myTimer = [NSTimer scheduledTimerWithTimeInterval:3.0
                                               target:self
                                             selector:@selector(doStuff)
                                             userInfo:nil
                                              repeats:YES];
}
9
ответ дан 7 December 2019 в 03:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: