我正在使用UIImageView.image来更改屏幕上的可见图像。
iv.image = images[index]
阵列'图像'目前已填充本地图像文件。但是,我希望从我的服务器下载图像,然后将它们附加到阵列。
private var images = [img1, img2, img3]
我建议使用SDWebImage(特别是SDWebImageManager或SDWebImageDownloader)来执行此操作,但是,在浏览下载和缓存教程时,所有这些都下载到UIImageView。我无法将UIImageView传入.image扩展名。我无法找到任何教程或示例来帮助我实现这一目标。我对swift很新,所以我没有大量的经验或理解。
答案 0 :(得分:0)
您也可以在没有任何库的情况下下载图像Async。
以下将为imageView创建一个扩展,它将从服务器向下同步传输图像,只需将相应的url作为参数传递,它将返回一个图像。
extension UIImageView {
public func imageFromServerURL(urlString: String) {
URLSession.shared.dataTask(with: NSURL(string: urlString)! as URL, completionHandler: { (data, response, error) -> Void in
if error != nil {
print(error!)
return
}
DispatchQueue.main.async(execute: { () -> Void in
if let imageData = data {
let image = UIImage(data: imageData)
self.image = image
}
})
}).resume()
}
}
// And you can call like this where ever required
cell.cellImageView.imageFromServerURL(urlString: banner.imageURL)