Aguarde a conclusão de todas as operações na fila antes de executar a tarefa
Eu tenho uma subclasse de Operação e fila de Operação com maxConcurrentOperationCount = 1.
Isso executa minhas operações em uma ordem seqüencial que eu adiciono, o que é bom, mas agora preciso aguardar até que todas as operações sejam concluídas antes de executar outro processo.
Eu estava tentando usar o grupo de notificações, mas como isso é executado em um loop for assim que as operações são adicionadas à fila, o grupo de notificações é acionado. Como espero que todas as operações saiam da fila antes de executar outro processo?
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
}