私はこのようなケースを持っています: 私のアプリは画像をサーバーにアップロードする必要があり、アップロードのステータスをユーザーに表示したいと考えています。たとえば、4 つの画像を選択し、アプリが画像 1 をアップロードしているとき、hud テキスト ラベルには、画像 2 をアップロードするときに「画像 1/4 をアップロードしています」と表示され、「画像 2/4 をアップロードしています」と表示されます。アップロード プロセスをバックエンドに配置するため、アップロード プロセスがメイン スレッドで実行されるとします。このため、画像のアップロード時にメイン スレッドがブロックされます。そのため、hud はすぐには機能しません。これを修正する方法、誰でも助けることができますか? 私のコードは次のようなものです:
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
hud.dimBackground = YES;
hud.labelText = @"";
//show the hud
for (int i = 0;i<[self.images count];i++) {
hud.labelText = self.maskTitle;//change hud lable text
[self uploadImage:i];//upload image, this would take long, will block main thread
}