Я пытаюсь сохранить строку, взятую из проанализированного файла 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."
отображается наэтикетка.