1

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

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

我的问题是;

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

很抱歉有多个问题和(可能)菜鸟问题,但我似乎找不到很多可以使用的讨论或代码示例。

提前致谢 - 迈克

4

1 回答 1

1

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

-(void)carDetailsDidFinishLoading

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

由于您实际上是在冻结界面,因此您可能希望显示一个加载符号 UIActivityIndi​​cator,以让用户知道您的应用程序还没有被冻结。

于 2009-07-28T15:03:46.503 回答