Sobes.tech
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 retainrelease-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.