Ios 如何从URL下载图像';然后将这些图像附加到UIImage数组?
我正在使用UIImageView.image来更改屏幕上的可见图像Ios 如何从URL下载图像';然后将这些图像附加到UIImage数组?,ios,arrays,swift,uiimage,sdwebimage,Ios,Arrays,Swift,Uiimage,Sdwebimage,我正在使用UIImageView.image来更改屏幕上的可见图像 iv.image = images[index] 数组“images”当前已填充本地图像文件。但是,我希望从服务器下载图像,然后将它们附加到阵列中 private var images = [img1, img2, img3] 有人建议我使用SDWebImage(特别是SDWebImageManager或SDWebImageDownloader)来完成这项工作,但是,在浏览下载和缓存教程时,所有教程都下载到UIImageVi
iv.image = images[index]
数组“images”当前已填充本地图像文件。但是,我希望从服务器下载图像,然后将它们附加到阵列中
private var images = [img1, img2, img3]
有人建议我使用SDWebImage(特别是SDWebImageManager或SDWebImageDownloader)来完成这项工作,但是,在浏览下载和缓存教程时,所有教程都下载到UIImageView。我无法将UIImageView传入.image扩展名。我找不到任何教程或示例来帮助我实现这一点。我对斯威夫特相当陌生,因此我没有大量的经验或理解 您也可以在没有任何库的情况下异步加载映像 下面将为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)
使用这个我的代码中已经有了这样的扩展,但是,当它只适用于UIImageView时,当我需要将它应用于UIImage数组时。除非我对正在发生的事情的理解是错误的,否则我不确定如何使这项工作正常,我需要返回多个图像并将它们放入一个数组中。对我来说,拥有imageView的扩展是没有用的,因为我改变图像的方式是通过改变数组的索引并使用
imageView.image=UIImageArray[index]