json - 清除缓存的 URL

标签 json swift url caching

我下面有一个代码,除了拉刷新之外,它工作正常。它返回 .json 的缓存版本。如果我使用不同的 URL 函数,它会动态重新加载新的 .json,但如果我想使用相同的 URL 执行拉动刷新,它会提供它的缓存版本。

谢谢

static func loadDataFromURL(url: URL,completion: @escaping (_ data: Data?, _ error: Error?) -> Void) {

    let sessionConfig = URLSessionConfiguration.default
    sessionConfig.allowsCellularAccess = true
    sessionConfig.timeoutIntervalForRequest = 15
    sessionConfig.timeoutIntervalForResource = 30
    sessionConfig.httpMaximumConnectionsPerHost = 1

    let session = URLSession(configuration: sessionConfig)

    // Use URLSession to get data from an NSURL
    let loadDataTask = session.dataTask(with: url) { data, response, error in

        guard error == nil else {
            completion(nil, error!)
            if kDebugLog { print("API ERROR: \(error!)") }
            return
        }

        guard let httpResponse = response as? HTTPURLResponse, 200...299 ~= httpResponse.statusCode else {
            completion(nil, nil)
            if kDebugLog { print("API: HTTP status code has unexpected value") }
            return
        }

        guard let data = data else {
            completion(nil, nil)
            if kDebugLog { print("API: No data received") }
            return
        }

        // Success, return data
        completion(data, nil)
    }

    loadDataTask.resume()
}

最佳答案

您应该使用 URLSessionConfiguration 对象设置 session.configuration,该对象根据您的需要配置缓存策略,我认为您尚未在上面的代码中设置。

关于json - 清除缓存的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50078323/

相关文章:

Swift 2.0 获取镜像父类(super class)属性

ios - Sprite Kit SKSpriteNode 绘制在屏幕外

ios - 在 url 保存图像时 PHPhotoLibrary 错误

javascript - 如何通过 google map api v3 使用 map url 查询?

java - 使用 Jackson 读取 Json 文件以获得以下 Json 结构并获取对象

javascript - 在嵌套的 json 对象中获取数据

json - 使用 Facebook 图表获取粉丝页面的粉丝?

ios - 为什么我的UICollectionViewCell无法从UICollectionViewController获取数据?

node.js - 通过本地网络通过域名而不是 IP 地址连接到数据库时是否会产生大量开销?

c# - 使用 Json.NET 序列化时忽略特定数据类型?