大量のデータを CoreData にインポートしています。インポートの進行状況を示すプログレスバーを表示したい。
まず、進行状況バーを表示しています。次に、インポートしたいデータを数えています。次に、for ループをセットアップします。
- この for ループでは、最初に coreData オブジェクトを設定します。
- 次に、進行状況ビューをインクリメントしています。
このループの後、coreData オブジェクトを保存し、progressBar を非表示にしています。
[self.progressView show];
int allFiles = [file count];
int currentFile = 1;
for(NSString *trackid in file) {
[entidyDesc setName:[track objectForKey:@"theKey"]];
float progress = [self convertAmountForProgressBar:currentFile maxNum:allFiles];
self.progressView.progressBar.progress = progress;
}
[self.progressView hide];
[self.managedObjectContext save:nil];
(簡体字)
問題は、progressBar が更新されていないことです。表示されますが、for ループが完了した後、非表示よりも先に更新されます。そのため、進行状況バーは for ループの直後にのみ表示されます。
この問題を解決する方法はありますか?