NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) in
// Get data as string
if let object = try? NSJSONSerialization.JSONObjectWithData(data!, options: []) as! [String:AnyObject] {
let rows = object["rows"] as! [[String:AnyObject]]
let elements = rows.first!["elements"] as! [[String:AnyObject]]
let duration = elements.first!["duration"] as! [String:AnyObject]
let durationText = duration["text"] as! String
self.durationTime = (hours * 3600) + (minutes * 60)
print("\(self.durationTime) is the duration time")
let dateFormatter = NSDateFormatter()
dateFormatter.timeStyle = NSDateFormatterStyle.ShortStyle
self.newDate = self.datePicker.date.dateByAddingTimeInterval(-self.durationTime)
let strDate = dateFormatter.stringFromDate(self.newDate)
print("\(strDate) is the time you should leave at @willcohen")
self.finalTimeLabel.text = "\(strDate)"
if self.finalTimeLabel.text != strDate {
self.finalTimeLabel.text = "Calculating time..."
}
}
}).resume()
您好,我在这里发布了我正在使用的代码。如您所见,顶部有一个完成处理程序。我在本节中删除了很多代码,因为其中一些代码无关紧要。我需要做的是将我的应用中的标签更改为变量strDate
,但这似乎需要花费很长时间。我知道这是异步函数,但是当我在print("\(strDate) is the time you should leave at")
行上运行我的应用程序时会立即打印strDate,所以我不确定为什么它会延迟这么长时间(至少15-20秒)来更新我的标签。所以,我的问题是,我如何解决这个问题,立即更新标签,就像立即打印strDate
一样?提前谢谢。