2009-07-11 91 views
1

我觉得我遇到的问题与here相同。但是我所尝试的一切似乎都不起作用。在iPhone缓存上下载?

程序的进展如下:

  • 我询问用户凭据(用户名/密码)
  • 然后我做服务器下载信息几个电话。
  • 当它完成后,我显示一组用户,用户点击一个,然后询问该帐户的密码
  • 然后我再向服务器发出一个请求,并检查是否获得正确的信息(因此验证刚才给出的用户名/密码是正确的)

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

我有一个类,使连接并返回下载的数据。我为每个连接都创建一个新班级。所以我不太确定它为什么保存数据。

我有一个NSMutableURLRequest中,我做到以下几点:

[theRequest setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData]; 

(我也尝试过,NSURLRequestReloadRevalidatingCacheData和​​)

我也implemnted功能:

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

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

与最后一个我不完全理解它。所以我累了YES和NO。我试过各种NSURLRequest缓存策略。

对我的问题可能会有帮助的任何帮助将是非常有帮助的。谢谢。

回答

2

只是一个猜测,但将使用

NSURLRequestReloadIgnoringLocalAndRemoteCacheData 

而不是

NSURLRequestReloadIgnoringLocalCacheData

有什么区别?

+0

我甚至不知道存在,但没有,它没有工作。还有什么想法? – RyanJM 2009-07-13 04:15:46