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.