Junior — Middle
MRC mexanizminin necə işlədiyini izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
MRC (Əl ilə Referans Sayımı) iOS-də yaddaş idarəetmə mexanizmidir və burada proqramçı obyektlərə olan referansların sayını özünün hesablaması ilə məsuliyyət daşıyır.
İş prinsipi:
- Hər obyektin referans sayğacı var.
- Obyekt yaradıldıqda və ya təyin olunduqda, sayğac artır (
retain). - Referans azad ediləndə, sayğac azaldılır (
release). - Sayğac sıfıra çatanda, obyekt silinir.
Objective-C-də nümunə:
NSObject *obj = [[NSObject alloc] init]; // sayğac = 1
[obj retain]; // sayğac = 2
[obj release]; // sayğac = 1
[obj release]; // sayğac = 0, obyekt silinir
Yaddaş sızıntılarını və ya obyektlərin erkən silinməsini qarşısını almaq üçün retain və release-u əl ilə çağırmaq vacibdir. Müasir iOS layihələrində, bu prosesi avtomatlaşdıran ARC (Avtomatik Referans Sayımı) daha çox istifadə olunur.