【发布时间】:2010-07-28 07:06:45
【问题描述】:
我像这样使用NSURLConnection
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
if ( [response isKindOfClass:[NSHTTPURLResponse class]])
{
int code = [(NSHTTPURLResponse*)response statusCode];
}
}
我收到一个 statusCode 为 204 的响应,然后我发送另一个请求,但是在它之后收到的所有响应都将返回 204,但是 tcpdump 显示服务器返回 200。 但一分钟后,它会返回 200。
我认为缓存可能有问题,但是我将 cachePolicy 设置为 NSURLRequestReloadIgnoringLocalCacheData 并且在新请求之前我也这样做了[[NSURLCahce sharedCache] removeAllCachedResponses]。
但它不起作用。 在第一个 204 之后我仍然会得到 204,如果我在一分钟后发送请求,就会得到 200。
是缓存的错吗?接下来我能做什么?
PS:204到达后,如果我发送另一个请求,响应立即到达,似乎还没有发送。但是,tcpdumps捕获发送。
【问题讨论】:
标签: cocoa caching nsurlconnection