Swift - 异步加载图片
(本文代码已升级至Swift4)

1,使用NSURLConnection(不推荐)
由于NSURLConnection自iOS9起就被废弃,所以不再建议使用这个方法。而是使用后面的URLSession来替代。
//定义URL
let imgURL = URL(string:"http://hangge.com/blog/images/logo.png")!
//定义URLRequest
let request = URLRequest(url:imgURL)
//异步获取图片
NSURLConnection.sendAsynchronousRequest(request, queue: OperationQueue.main,
completionHandler: { (response, data, error) in
//将图片数据赋予UIImage
let img = UIImage(data:data!)
self.BgImageView.image = img
})
2,使用URLSession(推荐)
//创建URL对象
let url = URL(string:"http://hangge.com/blog/images/logo.png")!
//创建请求对象
let request = URLRequest(url: url)
let session = URLSession.shared
let dataTask = session.dataTask(with: request, completionHandler: {
(data, response, error) -> Void in
if error != nil{
print(error.debugDescription)
}else{
//将图片数据赋予UIImage
let img = UIImage(data:data!)
self.BgImageView.image = img
}
}) as URLSessionTask
//使用resume方法启动任务
dataTask.resume()

航哥,第二个方法第14行self.BgImageView.image = img这个BgImageView是什么意思啊?
用不了啊,运行进if error != nil{
print(error.debugDescription)运行这个了
}else{
//将图片数据赋予UIImage
let img = UIImage(data:data!)
self.BgImageView.image = img
}
站长辛苦 真的很不错 您的博客
如果页面上有多 ImageView ,我怎么能在回调中知道要修改哪个 ImageView ?