Alamofire缓存离线响应。斯威夫特4

时间:2018-12-03 21:06:45

标签: swift alamofire

我不熟悉Alamofire的快速使用方法。我尝试阅读文档,但没有成功。

我正在做

Alamofire.request(“ http:json”)。responseJSON

,我发现即使电话处于离线状态,它也可以正常工作并返回响应。如果我没记错的话,响应将保存在缓存中。

此响应将在缓存中保留多长时间以供用户离线使用?

我应该将响应存储为首选项吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您是对的,Alamofire会缓存您的回复。 虽然,我认为没有办法知道何时,您的响应将从缓存中消失,因为系统需要考虑许多变量,例如磁盘空间...您可以使用自定义缓存策略(如果您认为合适的话)。

我不会依靠默认的缓存策略来保存文件以供脱机使用,因此在这种情况下实施自定义策略是错误的。因此,如果您确实需要脱机文件,我建议您使用其他方式。

看看URLCache,这是Alamofire用于响应缓存的东西-

  

响应缓存由URLCache在系统框架级别处理。它提供了内存中和磁盘上缓存的组合,并允许您操纵内存和磁盘上部分的大小。 -> From Alamofire documentation