我正在从某个服务器异步加载某些图像。我使用 NSURLConnection connectionWithRequest 方法一次触发多个请求,并使用 NSURLConnectionDelegate didReceiveData 接收数据。
在 didReceiveData 中,我如何知道该数据与哪个请求匹配?在 didReceiveResponse 我可以使用作为参数给出的响应的 URL 方法,但在 didReceiveData 我只有接收到的数据。
似乎完美的答案是使用 NSURLConnection sendAsynchronousRequest,因为完成处理程序具有所有必需的参数:(NSURLResponse*, NSData*, NSError*)。我可以使用 [response URL] 来匹配原始请求...除了一种情况:并非我尝试下载的所有图像都存在。在这种情况下,请求被重定向到通用错误页面,并且接收到该通用页面的 URL,因此我无法将响应与我提出的请求相匹配。这个我可以用connectionWithRequest处理,但我不能两全其美。