我正在使用 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/