我有一个链接到图像文件的URL数组,我如何将它们存储到一个UIMages数组中?
var imagesArray = [UIImage]()
let links = ["http://example.com/image1.jpg","http://example.com/image2.jpg"] as [String]
一定有一个简单的解决方案。如果是一个图像,我可以做如下所示的事情:
let url = URL(string: link2image!)!
let imageData = try? Data(contentsOf: url)
let image = UIImage(data: imageData!)!
self.image.append(image)
3条答案
按热度按时间slwdgvem1#
最简单的解决方案是使用
Data(contentsOf:)
迭代数组并同步下载映像,但是,由于同步执行,这样做还远远不够。一个更好的解决方案是异步并行下载图像,我已经使用PromiseKit编写了一个
UIImage
扩展:调用它是为了一个链接数组,如下所示:
然后履行承诺:
de90aj5v2#
也许你可以尝试函数式编程用途:Map关闭...
但是你必须知道如果你的链接是错误的,它会崩溃。所以,我建议你做一些防范,以防止这些崩溃。像这样...
a14dhokn3#