美文网首页iOS开发
downloadImages 工具方法

downloadImages 工具方法

作者: _浅墨_ | 来源:发表于2022-11-12 10:52 被阅读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)
            }
        }
    }
}

相关文章

网友评论

    本文标题:downloadImages 工具方法

    本文链接:https://www.haomeiwen.com/subject/oroxxdtx.html