iPhone在等待结果时帮助使用XMLParser和UI

时间:2009-07-28 14:27:19

标签: iphone xml-parsing

有人可以在解析SOAP消息时提供有关处理iPhone UI和处理的最佳方法的一些指导吗?以下是上下文:

  • 我有一个应用程序,允许用户选择他们有兴趣查看的汽车(从汽车列表中)。
  • 当他们选择一辆汽车时,我会推出一个显示汽车细节类别的carDetails视图控制器。当我初始化carDetails时,我分配/执行另一个名为getCarData的类,该类包含SOAP和XMLParser方法,这些方法从Web服务检索并加载所有汽车详细信息。
  • 目前,getCarData类在完成处理之前将控制权返回给carDetails(我相信由于XMLParser的异步性质)
  • 但是在我允许用户选择carDetails中的任何向下钻取类别信息(即内部,引擎等)之前,我需要加载来自getCarData的数据。

我的问题是;

  • 在加载数据之前处理等待过程的最佳方法是什么?
  • 我已经看到了关于触发单独线程的一些论坛问题所以我没有占用UI,但实际上我确实希望用户等待(如果需要)直到加载数据。我应该创建另一个线程吗?我应该只是简单地显示一个隐藏主窗口的进度窗口,直到加载数据为止?
  • 检查数据是否已完成加载的最佳方法是什么,如果没有,则显示活动/进度视图?换句话说,我应该在carDetails,getCarData还是AppDelegate中处理它?

对于多个问题和(可能)noob问题感到抱歉,但我似乎无法找到许多可以使用的讨论或代码示例。

提前致谢 - 迈克

1 个答案:

答案 0 :(得分:1)

Apple在这种情况下使用的典型协议是定义在处理/加载完成时要调用的方法。该方法可以这样称为:

-(void)carDetailsDidFinishLoading

在允许用户选择界面中的内容之前,您可以等待调用此方法。保持一切都被禁用,直到火灾发生。

由于你基本上冻结了你的界面,你可能想要显示一个加载符号UIActivityIndi​​cator,让用户知道你的应用程序还没有被冻结。