ここで説明されているように、スレッドを使用して進行状況バーを更新したいと思います。私はこの結果を達成しようとしています:
- プログレスバーが表示される
- プログレスバーはループを使用して更新されます
- プログレスバーが消える
これは私のコードです:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
progressBar.hidden = NO;
for (NSInteger i = 1; i <= progressBar.maxValue; i += 20){
[NSThread sleepForTimeInterval:1.0];
dispatch_async(dispatch_get_main_queue(), ^{
[progressBar setDoubleValue:(double)i];
[progressBar displayIfNeeded];
});
}
progressBar.hidden = YES;
});
進行状況バーは、ViewController.h int で次のように定義されています。
NSProgressIndicator *progressBar
問題は、ループの最後でバーが削除されないことです。このように機能するかどうかはわかりませんprogressBar.hidden = YES;
。
誰かが私を助けることができますか?コード スニペットは、特に説明が続く場合に非常に役立ちます。