我希望我的iOS应用程序(至少某些端点)具有以下网络行为:
我更喜欢这样的行为,因为我可以非常积极地设置我的缓存策略(长缓存时间)。对于不经常更新的数据,这会导致常见情况下的快速UI返回以及基本上在后台保持最新的模型层(从用户的角度来看)
我正在阅读有关NSURLCache的内容,但我没有看到缓存政策,甚至没有看到我对此充满信心的两项政策的组合。
选项:
ReturnCacheDataDontLoad
始终获取缓存。如果失败或旧缓存使用ReloadIgnoringLocalCacheData
进行HTTP提取。 (必须检查自己?年龄是可以检查的吗?)ReturnCacheDataDontLoad
始终获取缓存。然后使用UseProtocolCachePolicy
将缓存时间设置为非常低,如果从缓存返回则忽略响应(我可以判断它是否从缓存返回?this说不可靠)ReturnCacheDataDontLoad
,如果根本没有缓存,则仅立即触发网络请求。另外,让一名工作人员密切关注存储的模型,并在他们看起来老了时在后台更新它们。