使用NSURLRequest避免缓存数据

时间:2011-05-26 05:38:57

标签: iphone http-headers nsurlrequest

我在开发一个应用程序时遇到了这个问题,其中请求是一个简单的URL,并且响应返回了XML。

我使用了[NSURLRequest sendsynchronousrequest],默认情况下,请求标头Cache-Control的默认值max-age81769。因此,我得到的响应不是最新的XML,而是旧的XML。 Safari和IE返回了旧的XML,但Chrome和Firefox返回了更新的最新XML。

我猜到IE和Safari返回旧XML的原因是因为Cache-Control最大年龄为81769,而在chrome或Firefox中检查时相同的标题返回0

所以我手动为标题字段设置max-age值为0,并获得最新的XML作为响应。

我想知道这是否是最佳解决方案,还是有其他可靠的方法来获取最新的响应。

1 个答案:

答案 0 :(得分:1)

您想要查看NSURLRequestCachePolicy枚举值的集合。

具体来说,您可以使用NSURLRequest方法创建+[NSURLRequest requestWithURL:cachePolicy:timeoutInterval:]对象,并为缓存策略指定NSURLRequestReloadIgnoringLocalCacheData或类似内容。