Junior — Middle
Può spiegare come funziona il meccanismo MRC?
sobes.tech AI
Risposta dell'AI
MRC (Contatore di Riferimento Manuale) è un meccanismo di gestione della memoria in iOS, in cui il programmatore è responsabile del conteggio dei riferimenti agli oggetti.
Principio di funzionamento:
- Ogni oggetto ha un contatore di riferimenti.
- Alla creazione o assegnazione di un oggetto, il contatore aumenta (
retain). - Quando si rilascia il riferimento, il contatore diminuisce (
release). - Quando il contatore raggiunge zero, l'oggetto viene distrutto.
Esempio in Objective-C:
NSObject *obj = [[NSObject alloc] init]; // contatore = 1
[obj retain]; // contatore = 2
[obj release]; // contatore = 1
[obj release]; // contatore = 0, oggetto eliminato
È importante chiamare manualmente retain e release per evitare perdite di memoria o eliminazioni premature degli oggetti. Nei progetti iOS moderni, si utilizza più frequentemente ARC (Contatore di Riferimento Automatico), che automatizza questo processo.