如何解决使用 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 获取数据的问题?的主要内容,如果未能解决你的问题,请参考以下文章