Sobes.tech
Junior — Middle

iOS utilizza la pulizia automatica della memoria per gestire le risorse?

sobes.tech AI

Risposta dell'AI

iOS non utilizza la pulizia automatica della memoria nel senso classico, come il garbage collector in JavaScript o Java. Al suo posto, iOS utilizza un sistema di gestione della memoria chiamato ARC (Contatore di Riferimento Automatico).

ARC tiene traccia automaticamente del numero di riferimenti agli oggetti e libera la memoria quando l'oggetto non è più utilizzato. Lo sviluppatore non scrive codice per liberare manualmente la memoria, ma deve monitorare la corretta gestione delle riferimenti per evitare dipendenze cicliche, che possono portare a perdite di memoria.

Esempio di utilizzo di ARC:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

var person1: Person? = Person(name: "Иван")
var person2 = person1  // il contatore di riferimenti aumenta
person1 = nil         // il contatore diminuisce, l'oggetto è ancora vivo
person2 = nil         // il contatore diventa 0, l'oggetto viene liberato

In questo modo, iOS gestisce la memoria automaticamente, basandosi sul conteggio dei riferimenti, e non sulla raccolta dei rifiuti.