我试图在URLSession中存储从解析的JSON文件中提取的String,以便更改函数主体中的标签文本,但未存储该值。
当我尝试打印该值时,它会打印,但是当我尝试访问它时,它是一个空字符串。我试图更改线程中的标签文本,但这是不允许的。
代码如下:
我的本地函数变量
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."
。