Sobes.tech
Junior — Middle

Можете ли објаснити принцип рада аутоматског управљања меморијом ARC у Objective-C?

sobes.tech АИ

Одговор од АИ

ARC (Automatsko Brojanje Referenci) je mehanizam za upravljanje memorijom u Objective-C koji automatski prati broj referenci na objekte i oslobađa memoriju kada objekat više nije u upotrebi.

Princip rada ARC-a zasniva se na brojanju referenci (retain count):

  • Kada se kreira objekat, njegov brojač je 1.
  • Kada se objekat dodeli novoj promenljivoj, brojač se povećava (retain).
  • Kada promenljiva izađe iz opsega ili joj se dodeli nil, brojač se smanjuje (release).
  • Kada brojač dostigne 0, objekat se automatski briše iz memorije.

Primer:

NSObject *obj = [[NSObject alloc] init]; // retain count = 1
self.property = obj; // brojač se povećava
obj = nil; // brojač se smanjuje
// Kada sve reference na objekat nestanu, memorija se automatski oslobađa

Razvojni programer ne mora eksplicitno da poziva retain/release, ARC umeće ta pozivanja tokom kompilacije, čime se smanjuje verovatnoća grešaka u upravljanju memorijom, kao što su curenja ili dvostruko oslobađanje.