Невозможно сохранить значение вне потока URLSession - PullRequest
0 голосов
/ 07 мая 2019

Я пытаюсь сохранить строку, взятую из проанализированного файла JSON, в URLSession, чтобы изменить текст метки в основной части функции, но значение не сохраняется.

Когда я пытаюсьнапечатайте значение, оно печатает, но когда я пытаюсь получить к нему доступ, это пустая строка.Я пытался изменить текст метки в теме, но это не разрешено.

Вот код:

Моя локальная переменная функции

        var jName = ""

Код, которыйне работает

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

        let session = URLSession.shared

        session.dataTask(with: url) { (data, response, error) in
            if let response = response {
                print(response)
            }
            guard let data = data else { return }


            let res = try! JSONDecoder().decode([Jobs].self, from:data)

            if let v = res.first?.jobName { 
                print(v)
                jName = v
            }



            }.resume()

        self.currentPerson.text = jName + " is currently walking."

Как уже упоминалось, v печатает нормально (оно должно иметь значение "BOB"), но когда я назначаю его jName и пытаюсь изменить метку, только " is currently walking." отображается наэтикетка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...