У меня есть IBAction, где при нажатии кнопки он создает незапланированный таймер.Затем, если тот же таймер уже запущен, // сделаем что-нибудь, иначе запустите созданный таймер.Вот что у меня есть:
- (IBAction)button1Press {
NSMethodSignature *sgn = [self methodSignatureForSelector:@selector(onTick:)];
NSInvocation *inv = [NSInvocation invocationWithMethodSignature: sgn];
[inv setTarget: self];
[inv setSelector:@selector(onTick:)];
NSTimer *tapTimer = [NSTimer timerWithTimeInterval: 1.0
invocation:inv
repeats:NO];
if (/*tapTimer is running*/) {//do something
}else{
NSRunLoop *runner = [NSRunLoop currentRunLoop];
[runner addTimer: tapTimer forMode: NSDefaultRunLoopMode];
}
}
Моя проблема в том, что поставить как условие.Если я поставлю tapTimer isValid или! = Nil, то он всегда вернет true, потому что tapTimer уже объявлен.Я не хочу делать недействительным или обнулять таймер, потому что основная цель кнопки состоит в том, чтобы только выполнить действие, если кнопка нажата дважды с интервалом в 1 секунду.Если есть совершенно другой подход, чтобы делать то, что я хочу, то, пожалуйста, скажите!
Спасибо большое!