第一次使用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,但我不知道如何做到这一点。我错过了一些非常简单的东西。