Как отключить кеширование в Swift - PullRequest
0 голосов
/ 30 октября 2018

В моем приложении для iOS я обнаружил, что когда я вызываю URL-адрес непосредственно из браузера, я получаю обновленный json, а когда он вызывается из приложения, я получаю более старую версию json. Я разместил ниже фрагмент кода, который загружает URL.

func getItems() {
    //Hit the web service Url
    let serviceUrl = "omitted"

    //Download the json data
    let url = URL(string: serviceUrl)
    if let url = url{
        //Create a URL Session
        let session = URLSession(configuration: .default)
        let task = session.dataTask(with: url, completionHandler: {(data, response, error) in
            if error == nil {
                //Succeeded
                //Call the parse json function on the data
                self.parseJson(data!)
            }
            else {
                print("error occured in getItems")
            }
        })
        // Start the task
        task.resume()
    }
}

1 Ответ

0 голосов
/ 30 октября 2018

Вы можете установить cachePolicy в URLRequest

Ваш код будет

func getItems() {
        //Hit the web service Url
        let serviceUrl = "omitted"
        let url = URL(string: serviceUrl)
        //Download the json data
        if let url = url{
            //Create a URL Session
            let session = URLSession(configuration: .default)
            let request = URLRequest(url: url, cachePolicy: .reloadIgnoringCacheData, timeoutInterval: 15.0)
            let task = session.dataTask(with: request, completionHandler: {(data, response, error) in
                if error == nil {
                    //Succeeded
                    //Call the parse json function on the data
                    self.parseJson(data!)
                }
                else {
                    print("error occured in getItems")
                }
            })
            // Start the task
            task.resume()
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...