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()





    }