iPhone SubView加载和等待

时间:2011-07-11 10:01:05

标签: iphone loading subview

我的iPhone应用程序在其欢迎视图控制器上有一个子视图。子视图解析来自网站的数据并相应地加载数据。 Welcome View Controller有一个继续按钮,可以转到下一个视图控制器。但是在子视图加载其数据之前,我无法转到下一个视图控制器。

任何人都可以建议我解决这个问题。在此先感谢。

2 个答案:

答案 0 :(得分:1)

在您使用NSURLConnection / NSURLRequest检索数据时,我建议采用两种方法:

  1. 修改检索数据的类的代码,以使请求异步;这将使其无阻塞,用户可以在不等待的情况下移动下一步;当下次移动时,您可以选择取消请求,以节省带宽;

  2. 在单独的线程中执行请求;您可以使用NSTask或GCD dispatch_asinc执行此操作,如下所示;无论如何,你必须要知道你的单独线程可能不会修改UI(即使用UIKit)这一事实,因为这只能从主线程完成。因此,在您的线程中,您更新数据,然后在主线程上发布UI的刷新(使用performSelectorOnMainThread)。

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{ [self SENDREQUEST]; });
    

答案 1 :(得分:0)

正如文斯指出的那样,你应该从一个独立的线程中检索数据(创建一个工人类来为你做这个)。当类完成其工作时,您应该告诉欢迎视图,数据已准备就绪。您可以通过使用协议或NSNotification来实现这一目标。