【发布时间】:2016-11-01 06:46:36
【问题描述】:
这是我之前用来从 url 下载图像的功能。我使用的是 swift 2.3 版本。
let request: NSMutableURLRequest = NSMutableURLRequest(URL: url)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue(), completionHandler: {(response: NSURLResponse?, data: NSData?, error: NSError?) -> Void in
if (error == nil) {
let image: UIImage = UIImage(data: data!)!
completionBlock(succeeded: true, image: image)
}
else {
completionBlock(succeeded: false, image: UIImage(named: "user_icon")!)
}
})
现在我已将代码转换为 Swift 3,新代码如下所示。下面的代码没有调用完成处理程序。谁能帮我这个?这是swift 3的代码。
let sessionTask = URLSession.shared
let request = URLRequest(url: url)
sessionTask.dataTask(with: request, completionHandler: {(data: Data?, response: URLResponse?, error: Error?) -> Void in
if (error == nil) {
let image: UIImage = UIImage(data: data!)!
completionBlock(true, image)
}
else {
completionBlock(false, UIImage(named: "user_icon")!)
}
})
【问题讨论】:
-
你需要执行调用resume方法的任务