Swift JSON 持续时间
Swift JSON Duration
我使用 JSON 从 url 获取数据。当我打印 berabereOran 的变量时,它会在 1 或 2 秒后显示在 Xcode 控制台上。但它会在 8 或 10 秒内显示在 uilabel 中。不知道是因为什么。
注意:在我的另一个项目中,我使用了tableView,因此,我添加了这段代码:dispatch_async(dispatch_get_main_queue()) { self.tableView.reloadData() }
但是这次,我没有使用 tableView。我应该在这里写什么?
我的代码:
let urls = NSURL(string: "http://gigayt.com/mackolik/?code=101")
let sessions = NSURLSession.sharedSession().dataTaskWithURL(urls!){
data, response, error -> Void in
if (error != nil){ print(error) }
do {
if let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? NSDictionary {
let evsahibiLogo:String = jsonResult["ev-sahibi-logo"] as! String
let deplasmanLogo:String = jsonResult["deplasman-logo"] as! String
let berabereOran:String = jsonResult["berabere-oran"] as! String
print(berabereOran) //shows in 1-2 seconds
self.macsonusifirLabel.text = "(\(berabereOran))" //shows in 8-10 seconds
}
dispatch_async(dispatch_get_main_queue()) {
//self.tableView.reloadData()
}
}
catch { print(error) }
}
sessions.resume()
试试这个:-
let urls = NSURL(string: "http://gigayt.com/mackolik/?code=101")
let sessions = NSURLSession.sharedSession().dataTaskWithURL(urls!){
data, response, error -> Void in
if (error != nil){ print(error) }
do {
dispatch_async(dispatch_get_main_queue()) {
if let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? NSDictionary {
let evsahibiLogo:String = jsonResult["ev-sahibi-logo"] as! String
let deplasmanLogo:String = jsonResult["deplasman-logo"] as! String
let berabereOran:String = jsonResult["berabere-oran"] as! String
print(berabereOran) //shows in 1-2 seconds
self.macsonusifirLabel.text = "(\(berabereOran))" //shows in 8-10 seconds
}
}
}
catch { print(error) }
}
sessions.resume()
}
我使用 JSON 从 url 获取数据。当我打印 berabereOran 的变量时,它会在 1 或 2 秒后显示在 Xcode 控制台上。但它会在 8 或 10 秒内显示在 uilabel 中。不知道是因为什么。
注意:在我的另一个项目中,我使用了tableView,因此,我添加了这段代码:dispatch_async(dispatch_get_main_queue()) { self.tableView.reloadData() }
但是这次,我没有使用 tableView。我应该在这里写什么?
我的代码:
let urls = NSURL(string: "http://gigayt.com/mackolik/?code=101")
let sessions = NSURLSession.sharedSession().dataTaskWithURL(urls!){
data, response, error -> Void in
if (error != nil){ print(error) }
do {
if let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? NSDictionary {
let evsahibiLogo:String = jsonResult["ev-sahibi-logo"] as! String
let deplasmanLogo:String = jsonResult["deplasman-logo"] as! String
let berabereOran:String = jsonResult["berabere-oran"] as! String
print(berabereOran) //shows in 1-2 seconds
self.macsonusifirLabel.text = "(\(berabereOran))" //shows in 8-10 seconds
}
dispatch_async(dispatch_get_main_queue()) {
//self.tableView.reloadData()
}
}
catch { print(error) }
}
sessions.resume()
试试这个:-
let urls = NSURL(string: "http://gigayt.com/mackolik/?code=101")
let sessions = NSURLSession.sharedSession().dataTaskWithURL(urls!){
data, response, error -> Void in
if (error != nil){ print(error) }
do {
dispatch_async(dispatch_get_main_queue()) {
if let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? NSDictionary {
let evsahibiLogo:String = jsonResult["ev-sahibi-logo"] as! String
let deplasmanLogo:String = jsonResult["deplasman-logo"] as! String
let berabereOran:String = jsonResult["berabere-oran"] as! String
print(berabereOran) //shows in 1-2 seconds
self.macsonusifirLabel.text = "(\(berabereOran))" //shows in 8-10 seconds
}
}
}
catch { print(error) }
}
sessions.resume()
}