Warten Sie, bis alle Operationen in der Warteschlange zu beenden, vor der Durchführung der Aufgabe

Ich habe Unterklasse eine Operation und Operation queue mit maxConcurrentOperationCount = 1.

Dieser führt meine Operationen in einer Reihenfolge, die ich hinzufügen, Sie ist gut, aber jetzt muss ich warten, bis alle Vorgänge beendet haben, vor der Ausführung von einem anderen Prozess verwendet.

ich habe versucht, verwenden Sie notification Gruppe, sondern als dies ist die Ausführung in einer for-Schleife, sobald die Operationen wurden Hinzugefügt, um die Warteschlange der benachrichtigungsgruppe feuert.. Wie muss ich warten, bis alle Operationen zum verlassen der Warteschlange vor der Ausführung von einem anderen Prozess?

for (index, _) in  self.packArray.enumerated() {

    myGroup.enter()
    let myArrayOperation = ArrayOperation(collection: self.outerCollectionView, id: self.packArray[index].id, count: index)
    myArrayOperation.name = self.packArray[index].id
    downloadQueue.addOperation(myArrayOperation)
    myGroup.leave()

}

myGroup.notify(queue: .main) {
 //do stuff here
}
Schreibe einen Kommentar