swift--使用URLSession异步加载图片

Posted 稻草人11223

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift--使用URLSession异步加载图片相关的知识,希望对你有一定的参考价值。

NSURLConnection,在ios9.0以后被废弃,以后使用URLSession类,如下图

具体样例:

 self.imageV.frame = CGRect(x:20,y:70,width:kScreenWidth-40,height:200)
        self.view.addSubview(self.imageV)
        
        //使用URLSession加载图片
        let url = URL(string:"http://pic.jj20.com/up/allimg/911/021616153629/160216153629-1.jpg")
        //创建请求对象
        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.imageV.image = img
            }
        }) as URLSessionTask
        
        //启动任务
        dataTask.resume()

效果如下:

 

以上是关于swift--使用URLSession异步加载图片的主要内容,如果未能解决你的问题,请参考以下文章

Swift:如何在异步 urlsession 函数中返回一个值?

Swift 在 UITableView 中异步加载图像 - 顶部单元格没有图片

使用完成处理程序进行异步调用的多个 URLSession dataTask 导致内存上升

如何在从 Swift 3 中的函数返回结果之前等待 URLSession 完成

Swift,URLSession,viewDidLoad,tableViewController

Swift - 来自URLSession任务的TableView数据源