我在 S3 上有一个 JSON 文件,我正在使用 NSURLConnection 通过 HTTP 下载。我将连接设置为使用缓存策略,NSURLCacheStorageNotAllowed但我仍然看到旧版本的数据返回。我改为NSURLRequestReloadIgnoringLocalAndRemoteCacheData并且缓存行为有效。
谁能解释为什么?
我在 S3 上有一个 JSON 文件,我正在使用 NSURLConnection 通过 HTTP 下载。我将连接设置为使用缓存策略,NSURLCacheStorageNotAllowed但我仍然看到旧版本的数据返回。我改为NSURLRequestReloadIgnoringLocalAndRemoteCacheData并且缓存行为有效。
谁能解释为什么?
由于不理解 和 之间的区别,这是一个错误NSURLCachedStoragePolicy,NSURLRequestCachePolicy请在此处查看我的答案:
到今天为止,看起来NSURLRequestReloadIgnoringLocalAndRemoteCacheData实际上什么也没做。来自 OS 10.9.1 中的 NSURLRequest.h:

看起来最好的选择可能是使用它NSURLRequestReloadIgnoringLocalCacheData。(除非 Apple 只是忘记更新其头文件以删除该评论。)