0

在 Iphone App 启动时,我启动了一个后台线程以从服务器接收一些数据。它允许用户浏览不同的视图。当我收到来自服务器的响应时,无论用户当前的视图如何,我都必须显示警报。如何做到这一点?我想我必须通知我对接收数据的所有看法?请指教....

问候

里兹万

4

4 回答 4

0

不,会有一个类似 connectionDidReceiveResponse 或其他的方法,当你的后台线程接收到数据时会调用它。在该方法中显示此警报,它会在收到数据后立即出现。

于 2011-09-06T11:39:49.477 回答
0

听起来应该在你的 appDelegate 中。

于 2011-09-06T11:40:22.177 回答
0

无论视图层次结构如何,警报视图都将显示在任何其他视图之上。所以基本上你必须处理响应并显示一个 uialertview,它将显示在任何视图的顶部。相应地处理警报视图上的操作。不需要所有视图都可以获取此消息。只要你的主视图控制器/或对象在你的应用程序的整个生命周期中都是持久的就足够了。

于 2011-09-06T11:46:21.430 回答
0

在 connectionDidFinishLoading 委托方法中添加警报视图就足够了,如下所示,

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
        UIAlertView *alertBox=[[UIAlertView alloc]initWithTitle:@"Got response" message:@"Loading completed." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertBox show];
[alertBox release];
}

因为 alertview 将出现在顶部(就像本地通知一样工作)。

但是您必须确保调用 Web 服务的类的实例和 NSUrlConnection 对象一直存在,直到连接完成加载。(未释放或解除分配)

于 2011-09-06T12:28:43.517 回答