Junior — Middle
Objective-C'de otomatik hafıza yönetimi ARC'nin çalışma prensibini açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
ARC (Otomatik Referans Sayımı), Objective-C'de bellek yönetimi sağlayan bir mekanizmadır ve nesnelere yapılan referansların sayısını otomatik olarak takip eder ve nesne artık kullanılmadığında belleği serbest bırakır.
ARC'nin çalışma prensibi, referans sayımına (retain count) dayanır:
- Bir nesne oluşturulduğunda, referans sayısı 1'dir.
- Nesne yeni bir değişkene atandığında, sayısı artar (retain).
- Değişken kapsam dışına çıktığında veya nil yapıldığında, sayısı azalır (release).
- Sayı 0'a ulaştığında, nesne otomatik olarak bellekten silinir.
Örnek:
NSObject *obj = [[NSObject alloc] init]; // retain sayısı = 1
self.property = obj; // retain sayısı artar
obj = nil; // retain sayısı azalır
// Tüm referanslar nesneye kaybolduğunda, bellek otomatik olarak serbest bırakılır
Geliştirici retain/release çağrılarını açıkça yapmaya gerek duymaz, ARC bu çağrıları derleme aşamasında ekler, bu da bellek yönetimi hatası olasılığını azaltır, örneğin sızıntılar veya çift serbest bırakmalar gibi.