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)
    {
......
Другие вопросы по тегам