0

我正在查看朋友的代码,但不确定它是如何工作的。有一个单例与 Web 服务对话以下载数据。WebServiceObject 是 NSObject 的子类。下载来自对 UIViewController 主页的单击。

在 WebServiceObject 中,当出现问题时,他会:

UIAlertView *alert = [[UIAlertView alloc] init...];
[alert show];

警报显示。由于执行它的代码是非视图对象,该警报如何显示?我问的原因是因为我想在网络恢复时删除该警报。由于网络观察发生在 WebServiceObject 中,我不确定如何访问 UIAlertView 对象。我认为在我完成的其他代码中,我会做类似的事情

[self.view viewWithTag:NETWORK_ALERT_TAG];

或有影响的东西。这是因为视图代码在模型代码中,而是我应该更改他的代码以向视图代码发布通知以显示警报并以这种方式获取它?非常感谢!

4

2 回答 2

1

UIAlertView 的-show方法创建自己的窗口,覆盖在应用程序窗口的顶部,在其中显示自己;因此,它不是应用程序视图层次结构的一部分。要隐藏它,您需要对警报视图本身的引用,可能会作为 WebServiceObject 上的属性公开。

于 2012-05-10T02:12:05.210 回答
0

听起来你想要没有任何按钮的 UIAlertView,我发现这个很好的教程提供了“请等待警报”

http://mobiledevelopertips.com/user-interface/uialertview-without-buttons-please-wait-dialog.html

我认为它会帮助你实现你想要的,如果你不希望用户能够解除警报

于 2012-05-10T02:13:33.970 回答