0

OS X 用の ETL アプリで NSProgressIndicator を使用しており、特定のページのダウンロード ソースの現在の状態を示しています。

最初の実行時にはすべて問題ありません-魅力のように機能します。リセットボタンを押してプロセス全体をもう一度実行しようとすると、問題が発生します - インジケーターは最初に完全にロードされています。

デフォルト値に戻す必要があるように聞こえますが、方法がわかりません...

- (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;
4

2 に答える 2

0

答えが見つかりました。nilアプリケーションのプロセス全体を再起動するためだけに、いくつかのオブジェクトが必要でした。その後、アプリはこのオブジェクトの新しいインスタンスを作成し、クリーンであるため、正常にNSProgressIndicator動作します。

于 2013-05-30T14:35:18.247 に答える
0

以下に示すように NSProgress インジケータを前面に出し、再試行してください。あなたが得たものがあればあなたのエラーをコメントしてください

ここに画像の説明を入力

于 2013-05-29T04:23:49.603 に答える