使用NSURLCache时如何清除缓存的响应和ETag信息?

时间:2013-10-03 08:11:29

标签: ios restkit restkit-0.20 etag nsurlcache

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

这很好用,我很满意。

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

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

[[NSURLCache sharedURLCache] removeAllCachedResponses];

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

我应该如何删除ETag信息?

1 个答案:

答案 0 :(得分:1)

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

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