Sobes.tech
Junior — Middle

Можете ли да објасните како функционише механизам MRC?

sobes.tech АИ

Одговор од АИ

MRC (Ručno brojanje referenci) je mehanizam upravljanja memorijom u iOS-u, gde programer sam odgovara za brojanje referenci na objekte.

Princip rada:

  • Svaki objekat ima brojač referenci.
  • Pri kreiranju ili dodeljivanju objekta, brojač se povećava (retain).
  • Pri oslobađanju reference, brojač se smanjuje (release).
  • Kada brojač dostigne nulu, objekat se uništava.

Primer u Objective-C:

NSObject *obj = [[NSObject alloc] init]; // brojač = 1
[obj retain]; // brojač = 2
[obj release]; // brojač = 1
[obj release]; // brojač = 0, objekat se briše

Važno je ručno pozivati retain i release da bi se izbegli curenje memorije ili prerano brisanje objekata. U modernim iOS projektima češće se koristi ARC (Automatsko brojanje referenci), koji automatizuje ovaj proces.