保持视图显示,直到响应从服务器到达

时间:2013-01-10 05:56:48

标签: ios objective-c uitableview uiviewcontroller

在我的应用程序中,我有一个UITableViewController并根据用户选择实例化一个新的UIViewController并通过tcp socket发送服务器请求。

在响应从服务器到达之前,它已经运行viewDidLoad的“UIViewController”方法。 在大多数情况下,答案尚未到来。

我的问题是:在收到响应并处理viewDidLoad方法中的数据之前,如何阻止viewDidLoad运行???

并且如果可能的话,也可以使整个过程在整个应用程序停止响应之前进行异步处理。

谢谢!

2 个答案:

答案 0 :(得分:0)

您在viewDidLoad中执行的任何数据处理都将其移至单独的函数。当您从服务器通知视图控制器或调用委托接收数据时,在收到通知或委托调用后,通过调用您分开进行数据处理的方法进行数据处理。

答案 1 :(得分:0)

根据我的建议,首先你从表格中选择一行&而不是打电话给你的UiViewController&在这个类中,您可以编写一个单独的方法,如

    -(void)GetData{}

比在后台线程中调用

    [self performSelectorInBackground:@selector(GetData) withObject:nil];

这个呼叫服务的过程&在后台获取数据工作&当它的响应来自服务器你做一些事情,比如在视图中填充数据或显示它

通过这样做你的应用程序,直到你的回复来了。