Прежде всего, я ищу способ создать nstimer scheduledTimerWithTimeInterval, который повторяется каждые 3 секунды 10 раз, затем делает недействительным, как таймер без повторений был бы. Действительно ли это возможно? Идеально дополнительный селектор стрелял бы, после того как таймер делает недействительным также
Просто отслеживайте количество циклов и храните ссылку на объект таймера. Затем просто аннулируйте его, когда сделаете достаточно.
// 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];
}