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.