如何在iPhone中响应Web服务之前暂停应用程序的执行

san*_*ndy 0 iphone cocoa-touch objective-c

我正在开发一个iPhone应用程序,我在我的应用程序中调用Web服务来完成相同的操作我正在创建NSURLConnection,数据解析基于连接委托的didReceiveResponse:方法的响应.我想停止执行我的代码,直到我从我的服务得到任何响应,但我不知道如何做同样的事情.如果您有解决方案,请告诉我.

谢谢桑迪

Ron*_*bro 7

在我看来,你想要做的不是停止代码的执行(Apple不会对此感到高兴),而是提醒用户你正在等待某些东西并禁用你想要的任何东西的用户界面.用户在此期间做.

你可以为此构建一个相当标准和简单的方法,它是这样的:

  1. 创建一个黑色背景的UIView并将其不透明度设置为0.8 - 这将为用户提供禁用的外观.并设置视图的大小以覆盖整个屏幕
  2. 添加一个带有自定义样式的UIButton来填充你的UIView - 这将通过在他们到达你的其他控件之前捕获它们来禁用用户点击
  3. 添加UIActivityIndi​​catorView并启动它.

当你获得didReceiveResponse时,删除"等待"视图并继续处理你得到的响应.