Sobes.tech
Junior — Middle

Objective-C-də layihənin yığılması zamanı ARC yaddaşı necə idarə edir?

sobes.tech Süni İntellekt

AI-dan cavab

Objective-C-də ARC (Avtomatik İstinad Sayımı) proqramın tərtibi və icrası zamanı işləyən avtomatik yaddaş idarəetmə mexanizmidir.

Layihənin yığılması zamanı tərtibçi kodu analiz edir və obyektlərin həyat dövrünü idarə etmək üçün lazım olan yerlərə avtomatik olaraq retain, releaseautorelease metod çağırışlarını əlavə edir. Bu, inkişaf etdiriciyə yaddaş idarəsini əl ilə yazmaq ehtiyacını aradan qaldırır və yaddaş sızıntıları və səhvlərin qarşısını alır.

ARC-nin əsas işləmə prinsipləri:

  • Hər obyektin bir istinad sayğacı var.
  • Obyekt yaradıldıqda və ya təyin olunduqda, sayğac artır (retain).
  • Obyektə olan istinad istifadə edilmirsa, sayğac azaldılır (release).
  • Sayğac sıfıra çatanda, obyekt avtomatik olaraq sərbəst buraxılır.

ARC klassik mənada çöp toplayıcı deyil: sərbəst buraxma dərhal baş verir, istinad sayğacı sıfıra çatdıqda, çöp toplanması üçün fasiləsiz.

Nümunə:

// ARC avtomatik olaraq retain/release əlavə edəcək
MyObject *obj = [[MyObject alloc] init];
// ... obyektin istifadəsi
// sahədən çıxanda, obyekt avtomatik olaraq sərbəst buraxılır

Bu şəkildə, ARC yaddaş idarəsini asanlaşdırır, kodu daha təhlükəsiz və təmiz edir.