MBProgressHUDを使用して、ipad アプリでログアウトしているときに概要の読み込み画面を作成しています。大きなファイルをいくつか暗号化する必要があるため、この処理には時間がかかります。
私はバックグラウンド スレッドで実行しており、MBProgressHUDはメイン スレッドでアニメーション化されているため、バックグラウンド スレッドがいつ終了したかを知るために何かをしなければなりませんでした。
テストとして、私はそれを次のようにしました:
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
hud.mode = MBProgressHUDAnimationFade;
hud.labelText = @"Do something...";
[self performSelectorInBackground:@selector(doSomethingElse) withObject:nil];
メソッド doSomethingElse:
-(void)doSomethingElse
{
[self encrypt];
[self performSelectorOnMainThread:@selector(doSomethingElseDone) withObject:nil waitUntilDone:YES];
}
メソッド doSomethingElseDone:
-(void)logoutInBackgroundDone
{
[MBProgressHUD hideHUDForView:self.view animated:YES];
}
解決策は機能しますが、もっと良い方法があるに違いないと思いますか? どうすればより良い方法でそれを行うことができますか?
どんな助けでも本当に感謝しています。