【发布时间】:2016-03-21 14:55:36
【问题描述】:
我在从服务器获取 JSON 数据后尝试更新 UILabel。我尝试了很多方法来修复它,但它仍然不起作用。
这是我的代码
class ShopInformation: UIViewController {
var latitude = String();
var longitude = String();
var shopInformation:JSON = nil;
@IBOutlet weak var name: UILabel!
@IBOutlet weak var addres: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let url = NSURL(string: "http://localhost/whatapro/json/shopinformation.php?latitude=\(self.latitude)&longitude=\(self.longitude)")
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {
(data, response, error) in
// print(NSString(data: data!, encoding: NSUTF8StringEncoding))
self.shopInformation = JSON(data: data!)
print(self.shopInformation["response_data"][0])
dispatch_async(dispatch_get_main_queue()) {
self.name.text = self.shopInformation["response_date"][0]["name"].string
self.addres.text = self.shopInformation["response_date"][0]["address"].string
}
}
task.resume()
}
}
我也试过这种方式
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0)) {
dispatch_async(dispatch_get_main_queue()) {
self.name.text = self.shopInformation["response_date"][0]["name"].string
self.addres.text = self.shopInformation["response_date"][0]["address"].string
}
}
谢谢
【问题讨论】:
-
您的标签在何时何地初始化?
-
另一点包括@Wezly 提到的内容是,您是否检查了从网络请求中收到的值?
-
我更新了代码。对于数据,我可以从服务器检索它
-
您可能想描述它是如何工作的,并包括您收到的任何相关错误消息。
-
没有错误。只是 UILabel 没有更新