如何使用URL Swift 3下载图像?

我是一个新手开发,我试图从URL下载并显示图像,并显示在UIImage视图。 我已经尝试了多个方法,使用以前提出的问题和thr网站的信息,但它不断出现多个错误。

在这里, Leo Dabus的答案中有一个很好的例子。 我将在下面的问题中包含相关的部分。

使用该post的代码,我发现一个更简单,更干净的方法是向UIImageView添加一个扩展:

 extension UIImageView { func downloadedFrom(url: URL, contentMode mode: UIViewContentMode = .scaleAspectFit) { contentMode = mode URLSession.shared.dataTask(with: url) { (data, response, error) in guard let httpURLResponse = response as? HTTPURLResponse, httpURLResponse.statusCode == 200, let mimeType = response?.mimeType, mimeType.hasPrefix("image"), let data = data, error == nil, let image = UIImage(data: data) else { return } DispatchQueue.main.async() { () -> Void in self.image = image } }.resume() } func downloadedFrom(link: String, contentMode mode: UIViewContentMode = .scaleAspectFit) { guard let url = URL(string: link) else { return } downloadedFrom(url: url, contentMode: mode) } } 

然后,您可以使用以下命令从视图控制器中获取图像:

 if let url = URL.init(string: urlString) { imageView.downloadedFrom(url: url) }