с Swift это просто реализовать:

я есть подкласс операций и очередь операций с maxConcurrentOperationCount = 1.

Это выполняет мои операции в последовательном порядке, что я добавляю их, что хорошо, но теперь мне нужно дождаться завершения всех операций, прежде чем запускать другой процесс.

я пытался использовать группу уведомлений, но поскольку она запускается в цикле for, как только операции добавляются в очередь, группа уведомлений запускается. Как мне дождаться, когда все операции покинут очередь, прежде чем запускать другой процесс?

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
}

Ответы на вопрос(5)

Ваш ответ на вопрос