【发布时间】:2017-04-28 22:56:34
【问题描述】:
我的应用是一个博客。在每个博客文章页面上,我都会向我的服务器发出请求以获取相关数据。我还想在每次查看博客页面时记录查看次数。
我可以在后端收到请求时执行此操作。我不太确定缓存在 iOS 中是如何工作的,但我的问题是,如果这些数据缓存在后续视图中,是否仍会在每个后续视图中向后端发出此请求?
或者我应该在我的 ViewController 中明确地发出一个后台请求来更新视图计数?
【问题讨论】:
我的应用是一个博客。在每个博客文章页面上,我都会向我的服务器发出请求以获取相关数据。我还想在每次查看博客页面时记录查看次数。
我可以在后端收到请求时执行此操作。我不太确定缓存在 iOS 中是如何工作的,但我的问题是,如果这些数据缓存在后续视图中,是否仍会在每个后续视图中向后端发出此请求?
或者我应该在我的 ViewController 中明确地发出一个后台请求来更新视图计数?
【问题讨论】:
如果您使用URLRequest 调用您的 API,那么您可以设置 cachePolicy 以便如果您的后端使用正确的缓存标头进行响应,那么如果没有任何更改,它将不会重新加载。
您可能想要重新设计您的 API,这样您就不必每次都加载整个博客文章来更新查看次数。也许这应该是一个单独的 API 调用,它有自己的缓存策略(因为它更频繁地更改)
【讨论】:
URLRequest 忽略缓存头。见docs