Junior — Middle
Môžete vysvetliť, ako funguje mechanizmus MRC?
sobes.tech AI
Odpoveď od AI
MRC (Ručné počítanie referenci) je mechanizmus správy pamäte v iOS, pri ktorom je programátor zodpovedný za počítanie odkazov na objekty.
Princíp fungovania:
- Každý objekt má čítač odkazov.
- Pri vytváraní alebo priraďovaní objektu sa čítač zvyšuje (
retain). - Pri uvoľnení odkazu sa čítač znižuje (
release). - Keď čítač dosiahne nulu, objekt sa zničí.
Príklad v Objective-C:
NSObject *obj = [[NSObject alloc] init]; // čítač = 1
[obj retain]; // čítač = 2
[obj release]; // čítač = 1
[obj release]; // čítač = 0, objekt je odstránený
Je dôležité manuálne volať retain a release, aby sa predišlo únikom pamäte alebo predčasnému odstráneniu objektov. V moderných iOS projektoch sa častejšie používa ARC (Automatické počítanie referencií), ktorý tento proces automatizuje.