[英]NSURLConnection and handling response code and response data
我现在有一个奇怪的情况,那就是来自NSURLConnection委托方法的响应代码:
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;
在后续委托方法之前触发:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
我的代码肯定可以使用改进,因为它现在从上面检查HTTP响应代码,然后调用某种方法来采取措施。 不幸的是,当时还没有可用的数据。
有什么精美的解决方案可以使response
和responseData
耦合,以至于我的类方法直到response
和 responseData
为200 +不为nil
时才被触发。 我是否需要将它们都设置为类实例变量? 似乎是一个穷人的解决方案。
数据之前的响应是正确的顺序。 实际上,您应该使用此方法清除所有数据(以防您通过重定向收到多个响应并且所有中间数据都已过时)。
您收到一条connection:didReceiveResponse:消息,告诉您已收到回复标头,但这发生在任何正文内容之前 。
如果您需要访问答复的所有元素,则应简单地存储响应和传入的数据,仅在connectionDidFinishLoading:中处理它们(或者,如果数据很长,则可以在connection:didReceiveData:中进行增量处理)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.