OStack程序员社区-中国程序员成长平台

标题: ios - NSURLCacheStorageNotAllowed 仍然缓存 NSURLRequest [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 06:48
标题: ios - NSURLCacheStorageNotAllowed 仍然缓存 NSURLRequest

我现在正在开发一个 iPhone 应用程序项目,该项目使用 NSURLRequests 使用 cachePolicy:NSURLCacheStorageNotAllowed 实现一些连接(我使用的是 ios 7)。

但似乎响应仍在缓存中,并且我收到相同 URL 调用的旧响应。尽管缓存策略为 "cachePolicy:NSURLCacheStorageNotAllowed"。

为什么它还在缓存响应?最新版本中是否仍然存在此问题?



Best Answer-推荐答案


缓存策略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