2012-02-14 264 views
3

這可能是一個簡單的問題,但我還沒有找到明確的答案。 我正在加載一個簡單的webview如下..然而,當信號不好,它只是永遠卡在那裏..爲webView加載設置iOS超時?

您能否告訴我爲此設置超時的最佳方式?

[TestViewController.webView的loadRequest:requestObject]

回答

9

設置超時爲的NSURLRequest

NSURLRequest *requestObject = [NSURLRequest requestWithURL:url cachePolicy:NSURLCacheStorageAllowed timeoutInterval:10]; // timeoutInterval is in seconds 

[TestViewController.webView loadRequest:requestObject] 

另見this SO發佈

+0

當然我之前試過這個發佈的問題..但它似乎仍然永遠卡在那裏.. – MomentH 2012-02-14 11:16:20

0

然而,當信號不好,這只是永遠卡在那裏..

NSURLConnection的默認超時非常好,應該不會更改。 「永久停滯」是什麼意思?你是否檢查錯誤,看看你的連接是否超時,所以你可以迴應這個?

例如,您是否實現了錯誤委託?

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error 

根據由@ElJay掛鉤,如果你使用一個HTTP主體的240秒的最小超時強制帖子中提到的蘋果開發者討論。此外,建議的@ElJay超時時間爲10秒,可以縮短移動網絡的使用時間。我會建議保持默認的超時時間,並嘗試改進錯誤處理。

+0

我的壞.. webViewdidFailLoadWithError沒有實現..謝謝:) – MomentH 2012-02-14 11:30:58