Sobes.tech
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.