Junior — Middle
Vai jūs varat izskaidrot, kā darbojas MRC mehānisms?
sobes.tech AI
Atbilde no AI
MRC (Rokas ar Rokas) irOS atmiņas pārvaldības mehānisms, kurā programmētājs ir atbildīgs par atsauces skaitu uz objektiem.
Darbības princips:
- Katram objektam ir atsauces skaitītājs.
- Izveidojot vai piešķirot objektu, skaitītājs palielinās (
retain). - Atbrīvojot atsauci, skaitītājs samazinās (
release). - Kad skaitītājs sasniedz nulli, objekts tiek iznīcināts.
Piemērs Objective-C:
NSObject *obj = [[NSObject alloc] init]; // skaitītājs = 1
[obj retain]; // skaitītājs = 2
[obj release]; // skaitītājs = 1
[obj release]; // skaitītājs = 0, objekts tiek dzēsts
Ir svarīgi manuāli izsaukt retain un release, lai izvairītos no atmiņas noplūdēm vai priekšlaicīgas objektu dzēšanas. Modernajos iOS projektos biežāk tiek izmantots ARC (Automātiska atsauču skaitīšana), kas automatizē šo procesu.