NSTimer не останавливается
Я использую NSTimer (вызванный старым вопросом, еще раз спасибо, ребята!:-)), чтобы обновить мои кнопки в интервале. Но я не могу остановить это!
Я использую iOS 4.3 в качестве минимальной версии.
аннулировать не работает. И релиз не доступен для меня.
Источник:
int i = 0;
NSTimer *t;
bool running = false;
- (void)UpdateButton
{
if(!running)
{
NSTimer *t = [NSTimer scheduledTimerWithTimeInterval: 1
target: self
selector:@selector(onTick:)
userInfo: nil
repeats:YES];
running = true;
}
else
{
bool value = t.isValid;
[t invalidate];
t = NULL;
t = nil;
}
}
-(void)onTick:(NSTimer *)timer
{
UIView *view = viewButtons;
for(UIButton *btnItem in view.subviews)
{
NSString *strValue = [@(i) stringValue];
btnItem.backgroundColor = [UIColor lightGrayColor];
[btnItem setTitle: strValue forState:UIControlStateNormal];
}
}
Работает нормально, но не останавливается!!!
Как я могу остановить и запустить NSTimer?
С уважением
1 ответ
Ладно, я понял.
Я должен Sorround его с отправкой asnyc:
dispatch_async(dispatch_get_main_queue(), ^{
if (t.isValid)
{
......