iOS超时设置为webView加载?

时间:2012-02-14 10:43:30

标签: ios timeout

这可能是一个简单的问题,但我没有找到明确的答案。 我正在加载一个简单的webview如下..但是,当信号不好时,它就会永远停留在那里..

你能否告诉我为此设定时间的最佳方法?

[TestViewController.webView loadRequest:requestObject]

2 个答案:

答案 0 :(得分:9)

设置NSURLRequest的超时

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

[TestViewController.webView loadRequest:requestObject]

另见this SO post

答案 1 :(得分:0)

  

然而,当信号不好时,它就会永远停留在那里..

NSURLConnection的默认超时非常好,应该不应该更改。 “永远被困”是什么意思?您是否在检查错误以查看连接是否超时,以便您可以回复此问题?

例如,您是否实现了错误委托?

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

根据@ElJay链接的帖子中提到的Apple开发人员讨论,如果使用http正文,则会强制执行最小超时240秒。此外,建议的@ElJay超时为10秒是移动网络缩短的方法。我建议保留默认超时并尝试改进错误处理。