Конечно, вы можете сделать это.Измените repeats:YES
на repeats:NO
, чтобы таймер не повторялся, а затем в onTimer
просто запустите новый таймер с более длинным интервалом.Вам нужна переменная для хранения вашего интервала, чтобы вы могли увеличивать его каждый раз до onTimer
.Кроме того, вам, вероятно, больше не нужно сохранять таймер, поскольку он будет срабатывать только один раз, а когда это произойдет, вы получите новый таймер.
Я не эксперт Objective-C (илиэксперт по iOS ...) и это было давно, но я думаю, что-то вроде этого:
float gap = 0.50;
[NSTimer scheduledTimerWithTimeInterval:gap target:self selector:@selector(onTimer) userInfo:nil repeats:NO];
-(void) onTimer {
gap = gap + .05;
[NSTimer scheduledTimerWithTimeInterval:gap target:self selector:@selector(onTimer) userInfo:nil repeats:NO];
}
Что-то подобное?О, и я действительно не слишком уверен в семантике retain
здесь ... прочитайте документы, чтобы убедиться, что вы не пропустили!