gpt4 book ai didi

ios - 使用 NSURLCache 的离线模式

转载 作者:行者123 更新时间:2023-11-29 12:47:16 25 4
gpt4 key购买 nike

我正在使用 AFNetworking 和 NSURLCache。请求是使用 NSURLRequestUseProtocolCachePolicy 创建的。应用程序接收带有 header 的响应:

Etag = "1398684731";
Cache-Control = "public";

一切都很完美。但是现在我需要添加一个离线模式。

它应该如何工作:

  • 如果互联网连接可用,一切都应该照常进行(应用程序向后端询问新数据,如果它有不同的Etag 如果 Etag 相同,则下载新数据 - 缓存响应用来)。
  • 如果没有互联网连接 - 缓存响应是用过。

问题是在离线模式下请求失败。

我曾尝试使用各种 Cache-Control 选项来解决这个问题,但它似乎无法以这种方式工作。

我在这里找到了可能的解决方案 https://stackoverflow.com/a/15885318/3140927 .它应该可以工作,但不是很优雅,我认为去年可能发生了一些变化。

我还发现“NSURLCache 不是为明确的离线场景而设计的,它旨在加速 Safari,不应该用于手动下载”。 SDURLCache 是否更适合我的目的?

那么实现离线模式的最佳方式是什么?

最佳答案

听起来您希望请求成功,即使缓存显示数据已过期并且应该从服务器检索。您可能会幸运地为某些您宁愿使用陈旧数据也不愿失败的请求设置缓存策略(在线与离线的不同策略)。

很棒的链接在这里-> SDURLCache with AFNetworking and offline mode not working

关于ios - 使用 NSURLCache 的离线模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23341008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com