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