Swift - dataTaskWithURL 获取数据后是否自动终止

Swift - Doesn't dataTaskWithURL terminated automatically after it gets the Data

我花了3天的时间才弄明白这个问题的原因。

我成功地使用下面的代码从服务器获取了我的数据。但是即使我可以 println() 完成处理程序中的数据,activity 指示器 stopAnimating() 或 label.text 赋值发生在 println 之后大约 20 秒。

我认为在我的数据到达后会话以某种方式保持活动状态。如果是这样,我该如何取消它。如果不是这样,我错过了什么???

    let task = NSURLSession.sharedSession().dataTaskWithURL(NSURL(url)) { data, response, error in

           if(error == nil){

                 //This works in 1second
                 println("string coming from data")

                 //these happen around 20 mins after the above
                 self.loading.stopAnimating()
                 self.label.text = "string coming from data"
           }

    }
    task.resume()

NSURLSession.sharedSession().dataTaskWithURL 在后台线程上执行。始终在主线程上更新 UI,如下所示:

dispatch_async(dispatch_get_main_queue()) {
    self.loading.stopAnimating()
    self.label.text = "string coming from data"
}