这可能是一个简单的问题,但我没有找到明确的答案。 我正在加载一个简单的webview如下..但是,当信号不好时,它就会永远停留在那里..
你能否告诉我为此设定时间的最佳方法?
[TestViewController.webView loadRequest:requestObject]
答案 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秒是移动网络缩短的方法。我建议保留默认超时并尝试改进错误处理。