在iPhone缓存上下载?

时间:2009-07-11 17:19:16

标签: iphone nsurlconnection

我觉得我遇到的问题与here相同。但我尝试的一切似乎都不起作用。

该计划如下:

  • 我要求提供用户凭据(用户名/密码)
  • 然后我打电话给服务器下载信息。
  • 完成后,我会显示一组用户,用户点击一个,然后被要求输入该帐户的密码
  • 然后我向服务器发出另一个请求并检查我是否收到了正确的信息(因此验证刚刚给出的用户名/密码是否正确)

问题是,最后一次调用与我在初始下载中执行的调用类似(相同的URL,不同的凭据)。无论用户输入第二个凭证,“正确”信息都会返回。我认为这是因为它正在缓存响应,但我无法弄清楚如何阻止它做这件事。

我有一个连接并返回下载数据的类。我为每个连接创建了一个新类。所以我不确定为什么要保存数据。

我有一个NSMutableURLRequest,我在其中执行以下操作:

 [theRequest setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];

(我也尝试过,NSURLRequestReloadRevalidatingCacheDataNSURLRequestReloadIgnoringLocalAndRemoteCacheData

我也实现了这些功能:

- (NSCachedURLResponse *)connection:(NSURLConnection *)connection   
                  willCacheResponse:(NSCachedURLResponse *)cachedResponse {
return nil;
}

- (BOOL)connectionShouldUseCredentialStorage:(NSURLConnection *)connection {
return NO;
}

对于最后一个,我并不完全理解它。所以我累了YES而且没有。我已经尝试了各种NSURLRequest缓存策略。

任何有关我的问题的帮助都会非常有帮助。谢谢。

1 个答案:

答案 0 :(得分:2)

只是一个猜测,但会使用

NSURLRequestReloadIgnoringLocalAndRemoteCacheData

而不是

  

NSURLRequestReloadIgnoringLocalCacheData

有什么不同吗?