我现在正在开发一个 iPhone 应用程序项目,该项目使用 NSURLRequests
使用 cachePolicy:NSURLCacheStorageNotAllowed
实现一些连接(我使用的是 ios 7)。
但似乎响应仍在缓存中,并且我收到相同 URL 调用的旧响应。尽管缓存策略为 "cachePolicy:NSURLCacheStorageNotAllowed"。
为什么它还在缓存响应?最新版本中是否仍然存在此问题?
缓存策略iOS7的正确枚举如下所述:
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:downloadURL
cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:60];
如果您超过 3G,即使您在 NSMutableURLRequest
中禁用缓存,某些提供商也会使用缓存,因此如果缓存策略不起作用,请将 http header 字段 cache-control 设置为 no-缓存。
[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;
关于ios - NSURLCacheStorageNotAllowed 仍然缓存 NSURLRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22121947/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |