Я использую 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];
}
Решение работает, но я думаю, что должен быть лучший способ? Как я могу сделать это лучше?
Любая помощь очень ценится.