Sobes.tech
Middle

Come si può interrompere l'esecuzione di un compito usando GCD (Grand Central Dispatch)?

sobes.tech AI

Risposta dell'AI

Utilizzo di DispatchWorkItem con il metodo cancel().

var workItem = DispatchWorkItem {  
    // Codice del task  
    if workItem?.isCancelled == true {  
        return // Controllo annullamento  
    }  
    // Continuazione dell'esecuzione  
}  

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

// In un'altra parte del codice, per annullare:  
workItem?.cancel()