从非视图类显示UIAlertView

时间:2012-05-10 02:04:30

标签: iphone model-view-controller

我正在看朋友的代码而不确定这是如何运作的。有一个与网络服务对话的单身人士可以下载数据。 WebServiceObject是NSObject的子类。下载来自主页上的一个点击,它是一个UIViewController。

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

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

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

的事情
[self.view viewWithTag:NETWORK_ALERT_TAG];

或其他影响。这是因为视图代码在模型代码中,而是我应该更改他的代码以向视图代码发布通知以显示警报而是抓住它吗?非常感谢!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

如果您不希望用户能够解除警报,我认为这将帮助您实现您想要的目标

相关问题