【问题标题】:How to clear cached response and ETag info when using NSURLCache?使用 NSURLCache 时如何清除缓存的响应和 ETag 信息?
【发布时间】:2013-10-04 15:53:47
【问题描述】:

我在我的 iOS 应用程序中使用 RestKit 来获取我的数据并将它们映射到 Core Data 中的对象。 该调用返回一个 ETag,因此只要数据相同,我就会从服务器获取 304,并且没有数据传输。

这很好用,我很满意。

但是当我退出我的应用程序时,我需要从核心数据中清除这些对象。这也有效。

然后我想清除缓存的响应,以便下次我登录 RestKit 时不会发送 ETag 并且我可以再次获取数据。所以我正在这样做:

[[NSURLCache sharedURLCache] removeAllCachedResponses];

但它不起作用,我仍然得到 304 并且没有数据。

我应该如何删除ETag信息??

【问题讨论】:

标签: ios restkit restkit-0.20 etag nsurlcache


【解决方案1】:

这是一个 HTTP 协议的东西,不是 RestKit 的东西,所以你需要看看底层的处理/存储。所以,我希望你的代码能够工作。我不认为 AFNetworking 会创建自己的缓存实例,但它可能会 - 值得检查代码。

您可以创建NSURLRequest 以使用RestKit 发送,然后将cachePolicy 设置为NSURLRequestReloadIgnoringLocalAndRemoteCacheData

【讨论】:

    猜你喜欢
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 2013-12-24
    • 2012-03-13
    • 2013-09-05
    • 2014-08-14
    • 1970-01-01
    相关资源
    最近更新 更多