如何确定NSURLConnection:sendSynchronousRequest是否返回缓存数据

时间:2011-08-05 20:07:20

标签: iphone ios

想知道,因为这样做的副作用可能是提醒用户,如果没有缓存数据,新数据可用。馊主意?希望不必为数据计算校验和并将其存储以供以后比较(尽管我可以使用http响应的“最后修改”日期而不是校验和)。

1 个答案:

答案 0 :(得分:2)

NSURLConnectionDelegate协议具有connection:willCacheResponse:方法。当NSURLConnection接收并随后缓存响应时,将调用此方法。因此,它为您提供了一个钩子,您可以在其中设置一个标志,指示正在使用缓存。或者,如果您想完全禁用缓存,则可以从实现中返回nil。

值得注意的一点是,如果您的代理人管理多个NSURLConnections,您需要使用connection:参数确定哪一个是响应源。