2010-01-08 19 views
0

我正在一個iPhone應用程序中,我在我的應用程序中調用Web服務來完成相同的操作我正在創建一個NSURLConnection解析數據基於連接委託的didReceiveResponse:方法的響應。我想停止執行我的代碼,直到我得到我的服務的任何響應,但我不知道如何執行相同的操作。請讓我知道你是否有解決方案。如何暫停應用程序的執行,直到Web服務的響應進入iPhone

感謝 桑迪

回答

7

在我看來,你想要做的並不是停止執行你的代碼(蘋果公司不會爲此感到高興),而是提醒用戶你正在等待某些東西並禁用你的UI在此期間用戶不需要這樣做。

您可以構建這樣一個相當標準的,簡單的方法,它去是這樣的:

  1. 黑色背景創建一個UIView,並設置其不透明度爲0.8 - 這將給用戶禁用的樣子。並設置視圖的大小,以覆蓋整個屏幕
  2. 添加一個UIButton自定義樣式來填補你的UIView - 這將禁用用戶點擊通過捉住他們,他們讓你的其他控件之前
  3. 添加UIActivityIndi​​catorView和啓動它。

當您得到didReceiveResponse時,請刪除「等待」視圖並處理您收到的響應。

0

對不起,我沒有正確的代碼在我的面前,但有一個阻塞的NSURLRequest。在Google/iPhone文檔上搜索阻止/ NSURL/iPhone以獲得完整答案。

0

只需同步使用NSURLConnection,即可搜索NSURLConnection Synchronous。

相關問題