Разбор JSON - Каковы альтернативные способы без возобновления задачи сеанса URL, поскольку она не является частью основного потока? - PullRequest
0 голосов
/ 15 ноября 2018

Я новичок в Swift.Для анализа JSON из API я нашел следующий код:

guard let url = URL(string: "url path here") else {return}

let task = URLSession.shared.dataTask(with: url)
{
    (data, response, error) in
    guard let dataResponse = data,
        error == nil else
    {
        print(error?.localizedDescription ?? "Response Error")
        return
    }
    do
    {
        //json response will be received here
        let jsonResponse = try JSONSerialization.jsonObject(with: dataResponse, options: []) as! [String : Any]
        print(jsonResponse)


    }
    catch let parsingError
    {
        print("Error", parsingError)
    }
}
task.resume()

Почему нам нужно использовать task.resume().Есть ли другой способ получить ответ JSON без вышеуказанного кода.

1 Ответ

0 голосов
/ 15 ноября 2018

Зачем нам нужно использовать task.resume ()? -

Новые инициализированные задачи начинаются в приостановленном состоянии, поэтому вам нужно вызовите этот метод для запуска задачи.

Источник - https://developer.apple.com/documentation/foundation/urlsessiontask/1411121-resume

Есть ли другой способ получить jsonResponse без вышеуказанного кода? -

Это основной код для получения ответа от API, даже если вы используете какие-либо третьи стороны, они внутренне используют один и тот же URLSession.

...