如何使用 URL Swift 3 下载图像? [复制]

2024-03-14

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


有一个很好的例子说明了如何做到这一点Leo Dabus 的回答在这里 https://stackoverflow.com/a/27712427/3210821。我将在下面包含与您的问题相关的部分。

使用该帖子中的代码,我发现一种更简单、更简洁的方法是添加扩展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)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 URL Swift 3 下载图像? [复制] 的相关文章

随机推荐