我正在使用NSMutableURLRequest连接到网站以获取JSON响应。我这样做是通过生成请求,然后使用NSURLConnection和self的委托来处理异步连接。我实现了所有正常委托方法:使用委托时超时处理NSURLRequest
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
所有与获取数据回完美的作品,处理出现的任何错误,等等。然而随着对的NSURLRequest超时设置为10秒我似乎并没有在这些方法中调用(我期望didFailWithError被调用)。它只是永远坐在那里,我没有通知它超时。
阅读iPhone API文档我没有看到什么应该在超时发生时发生,只是您可以设置超时值。应该发生什么?我没有看到API中的其他委托方法可以提供帮助。我不必手动检查超时,是吗?超时只用于同步请求吗?
我同意Corey应该在didDailWithError方法中获得它,但它永远不会被调用。该方法中的断点和日志显示它永远不会被调用超时。 – Parrots 2009-08-27 15:50:44
对于更多的上下文,如果它有所作为,我使用的方法在http://stackoverflow.com/questions/332276/managing-multiple-asynchronous-nsurlconnection-connections的回答中讨论了连接I有突出的。 – Parrots 2009-08-27 15:56:00
我看起来像这可能是在3.0的测试版SDK中的错误,因为只要最终发布它按预期工作。 – Parrots 2010-01-12 18:16:06