Sobes.tech
Junior — Middle

In quali casi e in quali sistemi viene implementata l'annullamento delle attività?

sobes.tech AI

Risposta dell'AI

Annullare le attività viene implementato nei sistemi in cui è importante poter interrompere operazioni lunghe o non necessarie per liberare risorse e migliorare la reattività dell'applicazione. Su iOS, questo si trova spesso in:

  • URLSessionTasks — è possibile annullare una richiesta di rete se non è più necessaria.
  • OperationQueue e Operation — le operazioni possono essere annullate tramite il metodo cancel(), che permette di fermare l'esecuzione del task se non è ancora completato.
  • DispatchWorkItem — è possibile annullare l'esecuzione differita o asincrona del codice.

L'annullamento è utile, ad esempio, durante il caricamento di dati per una cella di tabella che è stata scrollata fuori dalla vista, o durante l'annullamento di una richiesta di rete alla chiusura dello schermo.

Esempio di annullamento di un'operazione:

let operation = BlockOperation {
    // Compito lungo
}
operationQueue.addOperation(operation)

// Più tardi
operation.cancel()