Sobes.tech
Junior — Middle

Môžete vysvetliť princíp fungovania automatického riadenia pamäte ARC v Objective-C?

sobes.tech AI

Odpoveď od AI

ARC (Automatické počítanie odkazov) je mechanizmus správy pamäte v Objective-C, ktorý automaticky sleduje počet odkazov na objekty a uvoľňuje pamäť, keď objekt už nie je používaný.

Princíp fungovania ARC je založený na počítaní odkazov (retain count):

  • Keď je objekt vytvorený, jeho čítač je 1.
  • Keď je objekt priradený novej premennej, čítač sa zvyšuje (retain).
  • Keď premená opustí rozsah alebo je priradená na nil, čítač sa znižuje (release).
  • Keď čítač dosiahne 0, objekt sa automaticky odstráni z pamäte.

Príklad:

NSObject *obj = [[NSObject alloc] init]; // retain count = 1
self.property = obj; // čítač sa zvyšuje
obj = nil; // čítač sa znižuje
// Keď všetky odkazy na objekt zmiznú, pamäť sa automaticky uvoľní

Vývojár nemusí explicitne volať retain/release, ARC tieto volania vkladá počas kompilácie, čím sa znižuje pravdepodobnosť chýb pri správe pamäte, ako sú úniky alebo dvojité uvoľnenia.