downloadImages 工具方法
2022-11-12 本文已影响0人
_浅墨_
批量下载图片:
func downloadImages(imageUrls: [String], completion: @escaping (_ images: [UIImage?]) -> Void) {
var imageArray: [UIImage] = []
var downloadCounter = 0
for link in imageUrls {
let url = NSURL(string: link)
let downloadQueue = DispatchQueue(label: "imageDownloadQueue")
downloadQueue.async {
downloadCounter += 1
let data = NSData(contentsOf: url! as URL)
if data != nil {
imageArray.append(UIImage(data: data! as Data)!)
if downloadCounter == imageArray.count {
DispatchQueue.main.async {
completion(imageArray)
}
}
} else {
print("couldnt dowload image")
completion(imageArray)
}
}
}
}