Junior — Middle
MRC mekanizmasının nasıl çalıştığını açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
MRC (Manuel Referans Sayımı), iOS'ta bellek yönetimi mekanizmasıdır ve burada programcı, nesnelere referans sayımından sorumludur.
Çalışma prensibi:
- Her nesnenin bir referans sayacı vardır.
- Bir nesne oluşturulurken veya atanırken, sayaç artar (
retain). - Referans serbest bırakılırken, sayaç azalır (
release). - Sayaç sıfıra ulaştığında, nesne yok edilir.
Objective-C'de örnek:
NSObject *obj = [[NSObject alloc] init]; // sayaç = 1
[obj retain]; // sayaç = 2
[obj release]; // sayaç = 1
[obj release]; // sayaç = 0, nesne silinir
Bellek sızıntılarını veya nesnelerin erken silinmesini önlemek için retain ve release'u manuel olarak çağırmak önemlidir. Modern iOS projelerinde, bu süreci otomatikleştiren ARC (Otomatik Referans Sayımı) daha sık kullanılmaktadır.