如何解决使用 URL Session 获取数据的问题?

Posted

技术标签:

【中文标题】如何解决使用 URL Session 获取数据的问题?【英文标题】:How to solve issue with getting Data using URL Session? 【发布时间】:2017-04-25 14:21:40 【问题描述】:

我正在使用 URL Session 从 Web API 获取数据并将它们加载到 tableView 中。 一切正常,除了每当我第一次获取数据时,即使在后端更改了数据,它也总是返回相同的数据。 仅当我删除应用程序并重新安装时,数据才会返回新数据。 请问有什么办法解决这个问题吗?

【问题讨论】:

你能显示一些代码吗?听起来像是缓存问题... 【参考方案1】:

如果您说在删除应用程序时您的问题得到解决,那么问题出在缓存中。

要解决这个问题,请添加:

URLCache.shared.removeAllCachedResponses()

或:

let config = URLSessionConfiguration.default
 config.requestCachePolicy = .reloadIgnoringLocalCacheData
 let session: URLSession = URLSession(configuration: config)

这将解决您的问题并忽略缓存,以便每次都返回新数据。

【讨论】:

谢谢它的工作,它似乎是一个缓存问题,removeAllCachedResponses 解决了它。 如果您可以修改服务器响应,您也可以在服务器上指定客户端不应缓存响应。 w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9

以上是关于如何解决使用 URL Session 获取数据的问题?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 Alexa 用户 ID?

如何让php获取session的值

如何在pywebio中获取当前请求的url

ASP.NET如何获取被请求的URL

记录一次Session偶尔获取不到的解决过程

权限管理——版本1