这可能是一个简单的问题,但我还没有找到明确的答案。我正在加载一个简单的Web视图,如下所示。。然而,当信号不好时,它就会永远停留在那里。。
你能告诉我安排时间的最佳方式吗?
[TestViewController.webView加载请求:requestObject]
设置NSURLRequest 的超时
NSURLRequest *requestObject = [NSURLRequest requestWithURL:url cachePolicy:NSURLCacheStorageAllowed timeoutInterval:10]; // timeoutInterval is in seconds
[TestViewController.webView loadRequest:requestObject]
另请参阅此SO post
然而,当信号不好时,它就会永远停留在那里。。
NSURLConnection的默认超时非常好,可能不应该更改。你说"永远卡住"是什么意思。您是否正在检查错误以查看您的连接是否超时,以便对此做出响应?
例如,您是否实现了错误委托?
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
根据@ElJay链接到的帖子中提到的苹果开发者讨论,如果你使用http主体,则会强制执行240秒的最小超时。此外,@ElJay建议的10秒超时是缩短移动网络的一种方式。我建议保留默认超时,并尝试改进错误处理。