Sobes.tech
Junior — Middle

Můžete vysvětlit, jak funguje mechanismus MRC?

sobes.tech AI

Odpověď od AI

MRC (Ruční počítání referencí) je mechanismus správy paměti v iOS, při kterém je programátor zodpovědný za počítání odkazů na objekty.

Princip fungování:

  • Každý objekt má čítač odkazů.
  • Při vytváření nebo přiřazení objektu se čítač zvyšuje (retain).
  • Při uvolnění odkazu se čítač snižuje (release).
  • Když čítač dosáhne nuly, objekt je zničen.

Pří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 odstraněn

Je důležité manuálně volat retain a release, aby se předešlo únikům paměti nebo předčasnému odstranění objektů. V moderních projektech iOS se častěji používá ARC (Automatické počítání referencí), který tento proces automatizuje.