Сбой NSTimer

#objective-c #nstimer

#objective-c #nstimer

Вопрос:

Спасибо за помощь. Экспериментирую с базовой анимацией ProgressIndicator. Это сбой и отмечено: «Генератор TO8 был скомпилирован с оптимизацией — пошаговое выполнение может вести себя странно; переменные могут быть недоступны». Генератор TO8, очевидно, является приложением.

Сообщение: «Нет известного метода класса для селектора ‘scheduledTimerWithTimeInterval:selector: userInfo:repeats:’

Есть понимание? Еще раз спасибо.

 NSTimer *timer;
int count;  

if(!timer)
{
    timer = [NSTimer scheduledTimerWithTimeInterval:0.01
                                             target:self
                                           selector:@selector(checkThem:)
                                           userInfo:nil
                                            repeats:YES];
    [progressBar startAnimation: self];
}

-(void)checkThem:(NSTimer *)aTimer
{
    count  ;
    if(count > 100)
    {
        count = 0;
        [timer invalidate];
    
        timer = NULL;
        [progressBar setDoubleValue:0.0];
        [progressBar stopAnimation: self];
    }
    else
    {
        [progressBar setDoubleValue:(100.0 * count) / 100];
    }
}
  

Комментарии:

1. Я не вижу никакого сбоя или сообщения о сбое. Вы пытаетесь отладить приложение, которое было скомпилировано с оптимизацией, поэтому отладчик может вести себя странно.

2. Сообщение: «Нет известного метода класса для селектора ‘scheduledTimerWithTimeInterval:selector: userInfo:repeats:’

3. Ах, разобрался — отключил «DeBug Executable» в схеме. Еще раз спасибо.

4. @Paul Если проблема решена, пожалуйста, либо ответьте на свой вопрос (абсолютно законно), либо удалите вопрос. Не оставляйте его зависшим. Спасибо!

Ответ №1:

Комментарий Энди побудил меня проверить конфигурацию моей схемы. «Отладочный исполняемый файл» был включен. Таким образом, функция не будет работать после компиляции. Затем я отключил эту опцию. После этого все хорошо. Извините за беспокойство.