gpt4 book ai didi

ios - Swift、Json Dictionary 将值发送到标签

转载 作者:行者123 更新时间:2023-11-30 12:50:54 24 4
gpt4 key购买 nike

我有一个 json,它返回给我一个字典。我可以在里面包含值,但我想使用其中一个值来放入标签。我没有错误,但我的 View 中的标签没有改变。这里的代码:

let url = "http://localhost:8888/connexion/"+login!+"/"+password!
let urlString = url.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!
let request = NSURLRequest(URL: NSURL(string: urlString)!)
let alreadyTask = NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: { (data, response, error) in
guard let data = data, let _ = response where error == nil else {
print("error")
return
}
do {
let json = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments) as! Dictionary<String, AnyObject>
print(json)
print(json["3"] as! String)
print(json["4"] as! String)
print(json["5"] as! String)
self.race_label.text = json["3"] as! String
pa_label.text = json["5"] as! String
name_label.text = json["4"] as! String
} catch let error as NSError {
print("json error: \(error.localizedDescription)")
}

})

alreadyTask.resume()

}

这里记录:

["2": blabla12, "1": c@gmail.com, "3": orc, "4": test, "success": 1, "0": 5, "5": 100]

兽人测试100

所以,我不知道为什么它不起作用。谢谢!

最佳答案

您必须在主队列上执行与 UI 相关的操作。 dataTaskWithRequests 在后台队列上调用其完成处理程序。

为了确保您的调用在主队列上进行,请替换:

self.race_label.text = json["3"] as! String
pa_label.text = json["5"] as! String
name_label.text = json["4"] as! String

与:

Swift 2:

dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.race_label.text = json["3"] as! String
self.pa_label.text = json["5"] as! String
self.name_label.text = json["4"] as! String
})

Swift3:

DispatchQueue.main.async {
self.race_label.text = json["3"] as! String
self.pa_label.text = json["5"] as! String
self.name_label.text = json["4"] as! String
}

关于ios - Swift、Json Dictionary<String, AnyObject> 将值发送到标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40998116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com