Ich versuche, mehrere Bilder in den Firebase-Speicher hochzuladen, und die App muss nach Abschluss der Upload-Aufgaben etwas tun. Ich habe etwas recherchiert, und ich fand, dass in diesem Fall eine Barriere nützlich ist. Ich folgte dem tutorial, aber es scheint, dass mein Code nicht richtig funktioniert. Was habe ich verpasst? Hier ist der Code:Sperre implementieren in swift3
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()
}
}
Das Problem dieser Code ist, dass completion()
läuft vor allem der Upload Teile beenden. Wie kann ich das beheben?