我正在尝试将多个图像上传到 Firebase 存储,并且该应用程序需要在上传任务完成后执行某些操作。我做了一些研究,发现屏障在这种情况下很有用。我按照教程进行操作,但似乎我的代码无法正常工作。我错过了什么?这是代码:
func uploadImages(completion: (()->Void)){
// creating a queue
let uploadImagesQueue = DispatchQueue(label: "upLoadImages", attributes: .concurrent)
for i in 0..<numOfImages{
uploadImagesQueue.async{
// upload each of the images
}
}
uploadImagesQueue.async(flags: .barrier){
completion()
}
}
此代码的问题是completion()
在所有上传部分完成之前运行。我怎样才能解决这个问题?