Junior — Middle
Czy możesz wyjaśnić zasadę działania automatycznego zarządzania pamięcią ARC w Objective-C?
sobes.tech AI
Odpowiedź od AI
ARC (Automatyczne Liczenie Referencji) to mechanizm zarządzania pamięcią w Objective-C, który automatycznie śledzi liczbę odwołań do obiektów i zwalnia pamięć, gdy obiekt nie jest już używany.
Zasada działania ARC opiera się na liczeniu odwołań (licznik retain):
- Gdy tworzony jest obiekt, jego licznik odwołań wynosi 1.
- Gdy obiekt jest przypisywany do nowej zmiennej, licznik zwiększa się (retain).
- Gdy zmienna opuszcza zakres lub jest przypisywana do nil, licznik się zmniejsza (release).
- Gdy licznik osiąga 0, obiekt jest automatycznie usuwany z pamięci.
Przykład:
NSObject *obj = [[NSObject alloc] init]; // licznik retain = 1
self.property = obj; // licznik rośnie
obj = nil; // licznik maleje
// Gdy wszystkie odwołania do obiektu znikną, pamięć jest automatycznie zwalniana
Programista nie musi jawnie wywoływać retain/release, ARC wstawia te wywołania na etapie kompilacji, co zmniejsza prawdopodobieństwo błędów zarządzania pamięcią, takich jak wycieki czy podwójne zwolnienia.