2014-03-01 43 views
2

我正在开发一个iPhone应用程序项目现在实现一些使用NSURLRequests使用cachePolicy:NSURLCacheStorageNotAllowed(我使用ios 7)连接。NSURLCacheStorageNotAllowed仍缓存NSURLRequest

但它似乎仍然缓存了响应,并且对于相同的URL调用,我得到了旧的响应。尽管缓存策略为"cachePolicy:NSURLCacheStorageNotAllowed".

为什么它仍然缓存响应?问题仍然存在于最新版本中?

+0

+ Piyali您的问题通常被严重标记。通常情况下,至少将语言添加为标签是合理的,因此处理相关技术的人员很容易找到它。 –

回答

3

的缓存策略正确枚举通过如下方式iOS7:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:downloadURL 
cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:60]; 

如果你是在3G,一些供应商使用缓存即使你在NSMutableURLRequest禁用它,所以如果缓存策略没有按” t工作,然后将http标头字段缓存控制设置为no-cache。

[request setValue:@"no-cache" forHTTPHeaderField:@"cache-control"]; 

这里的枚举检查你的头NSURLRequest.h正确的最新枚举:)

enum 
{ 
    NSURLRequestUseProtocolCachePolicy = 0, 

    NSURLRequestReloadIgnoringLocalCacheData = 1, 
    NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, // Unimplemented 
    NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData, 

    NSURLRequestReturnCacheDataElseLoad = 2, 
    NSURLRequestReturnCacheDataDontLoad = 3, 

    NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented 
}; 
typedef NSUInteger NSURLRequestCachePolicy; 
相关问题