Sobes.tech
Middle

Como pode parar a execução de uma tarefa usando GCD (Grand Central Dispatch)?

sobes.tech IA

Resposta da IA

Utilização de DispatchWorkItem com o método cancel().

var workItem = DispatchWorkItem {  
    // Código da tarefa  
    if workItem?.isCancelled == true {  
        return // Verificação de cancelamento  
    }  
    // Continuação da execução  
}  

DispatchQueue.global().async(execute: workItem!)

// Em outro lugar do código, para cancelar:  
workItem?.cancel()