如何从网上下载一系列网址图片

我使用正则表达式提取html字符串,所需的图像并将它们放入数组中。

该数组目前是什么样的:

var collectionPhotoLinks = [
        "http:static-cdn3.vigbo.tech/u65463/78125/blog/5162255/4423863/57114004/500-codleto-889a051259ba894edee37b8da63ddbe9.jpg","http:static-cdn3.vigbo.tech/u65463/78125/blog/5162255/4423863/57114004/500-codleto-9516ab3514e07bde176f117e70c7ba85.jpg"]

我可以上传一张图片

func downloadImages () {

    guard let url = URL(string:
        "http:static-cdn3.vigbo.tech/u65463/78125/blog/5162255/4423863/57114004/500-codleto-889a051259ba894edee37b8da63ddbe9.jpg")
            else { return }

    URLSession.shared.dataTask(with: url) { (data,response,error) in

        if let data = data,let image = UIImage(data: data) {
            DispatchQueue.main.async {

                self.imageView.image = image

            }
        }
    } .resume()
}

如果将“ url”替换为数组“ collectionPhotoLinks”,则xcode分别需要字符串而不是数组

那么问题就来了,如何从数组中加载所有图像?将来,我需要将它们发送到tableview或collectionview,但是我想首先解决这个问题。

gaosumei 回答:如何从网上下载一系列网址图片

通常是在cellForRowAt中用SDWebImage进行下载,但是如果您需要预下载所有内容,则可以尝试

let arr = ["url1","urls"]

func downloadImages () {

    let g = DispatchGroup()

    for item in arr {

        guard let url = URL(string:item)
                else { return }

        g.enter()

        URLSession.shared.dataTask(with: url) { (data,response,error) in

            if let data = data,let image = UIImage(data: data) {

                //
            }

            g.leave()

        } .resume()
    }

    g.notify(queue: .main) {

        // done 
    }

}
本文链接:https://www.f2er.com/3013460.html

大家都在问