NSProgressIndicator не работает более одного раза

Я использую NSProgressIndicator в своем приложении ETL для OS X и указываю, что это текущее состояние загрузки источников данных страниц.

Все хорошо, когда в первом запуске - работает как шарм. Проблема появляется, когда я нажимаю кнопку сброса и пытаюсь запустить весь процесс еще раз - индикатор полностью загружен в начале.

Звучит так, будто мне нужно восстановить его значения по умолчанию, но я понятия не имею, как...

- (IBAction)showAction:(id)sender
{
    [[self panel] display];
    NSLog( @"Show action" );
}

- (IBAction)restartETLAction:(id)sender
{
    [etl restart];
    [self setProgressBar:nil];
    NSLog( @"Restart action" );
}

- (void) showProgressBarPanelWithTitle:(NSString *) title
{
    [[self panel] setTitle:title];
    [[self panel] makeKeyAndOrderFront:self];
}

- (void) updateProgressBarPanelWithProgressLevel:(double) progressLevel
{
    [[self progressBar] setDoubleValue:progressLevel];
    [[self progressBar] startAnimation:self];
}

- (void) hideProgressBarPanel
{
    [self.progressBar stopAnimation:self];
    [[self panel]  orderOut:self];
}

Конечно, у меня есть некоторые свойства:

@property (assign) IBOutlet NSPanel *panel;
@property (assign) IBOutlet NSProgressIndicator *progressBar;

2 ответа

Решение

Я нашел ответ. я нуждался в nil некоторые объекты просто для перезапуска всего процесса приложения. Поэтому после этого приложение создает новые экземпляры этих объектов и NSProgressIndicator работает как надо.

Переместите индикатор NSProgress вперед, как показано ниже, и попробуйте снова. закомментируйте свою ошибку, если что-то у вас есть

Другие вопросы по тегам