Есть ли способ остановить параллельную операцию?
let count = arr.count
let group = DispatchGroup()
group.enter()
DispatchQueue.concurrentPerform(iterations: count, execute: { i in
if stop { group.leave(); return } // Crashes with EXC_BAD_INSTRUCTION
// ..
})
group.wait()
Это происходит с EXC_BAD_INSTRUCTION
после нескольких итераций. Похоже, group.leave()
не завершает операцию. Как выйти отменить операцию? По сути, я пытаюсь выполнить одновременный цикл массива и выйти из него, если выполняется какое-то условие, без использования моста Objective C для одновременного перечисления.