初めてHUDを使って作業しましたが、混乱しています。
viewDidLoad で次のように HUD をセットアップします。
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
[[[WSXmppUserManager shared] xmppStreamManager] connect];
dispatch_async(dispatch_get_main_queue(), ^{
[MBProgressHUD hideHUDForView:self.view animated:YES];
});
});
HUDが表示されません。その理由は次のとおりだと思います。xmppconnect
メソッドは、xmpp サーバーへの接続要求を開始し、完了します。したがって、そのまま待機するアクティビティはありません。
ただし、サーバーが応答し、次のデリゲート メソッドが起動されるまで、接続は確立されません。
- (void)xmppStreamDidAuthenticate:(XMPPStream *)sender
これを待ってから HUD を閉じたいのですが、その方法がわかりません。非常に単純なものが欠けています。