iphone - 使用委托(delegate)时处理超时的 NSURLRequest

标签 iphone timeout nsurlconnection nsurlrequest

我正在使用 NSMutableURLRequest 连接到网站以获取 JSON 响应。我通过生成请求,然后使用带有 self 委托(delegate)的 NSURLConnection 来处理异步连接。我已经实现了所有正常的委托(delegate)方法:

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
- (void)connectionDidFinishLoading:(NSURLConnection *)connection

所有这些都可以完美地恢复数据,处理发生的任何错误等。但是,当 NSURLRequest 的超时设置为 10 秒时,我似乎没有在这些方法中被调用(我期望 didFailWithError 被调用) )。它只是永远坐在那里,我没有收到它超时的通知。

阅读 iPhone API 文档时,我没有看到任何提及超时发生时应该发生的情况,只是您可以设置超时值。应该发生什么?我在 API 中没有看到任何其他有帮助的委托(delegate)方法。我不必手动检查超时,不是吗?超时仅适用于同步请求吗?

最佳答案

您的超时是通过此方法接收的:

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error

关于iphone - 使用委托(delegate)时处理超时的 NSURLRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1252669/

相关文章:

ios - 如何理解 iPhone 上的崩溃报告 iOS 测试

ios - 如何将新的 NSMutableDictionary 保存到属性列表

matlab - 在给定时间后突破专有工具箱

ios - 创建多个 NSURLConnections 并使用 sendAsynchronousRequest :queue:completionHandler: iOS 5 method

ios - 保持 NSURLConnection 打开 + 分块编码上传

iphone - 卡在CLLocation

ios - 与文本字段和日期选择器相关的问题

asp.net - 设置 Salesforce Web 服务/API 的超时值

java - 使用 maven surefire 测试花费的时间超过指定的超时时间

iOS NSURLConnection : How to simulate 500 and 404 error?