Sobes.tech
Junior — Middle

iOS-də avtomatik yaddaş idarəetmə mexanizmi ARC-nin nə olduğunu izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

ARC (Avtomatik Referans Sayımı) iOS-də yaddaş idarəetmə mexanizmidir və avtomatik olaraq obyektlərin həyat dövrünü izləyir və idarə edir. Əl ilə retain/release çağırışları etmək əvəzinə, tərtibçi bu çağırışları sizin üçün əlavə edir və obyektin referans sayğacını artırır və ya azaldır.

Obyektin referans sayğacı sıfıra çatdıqda, obyekt avtomatik olaraq yaddaşdan azad edilir. Bu, yaddaş sızıntılarının qarşısını almağa və inkişafı sadələşdirməyə kömək edir.

Nümunə:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

var person1: Person? = Person(name: "Ivan")
var person2 = person1 // referans sayğacı artır
person1 = nil // sayğac azalır
person2 = nil // sayğac 0 olur, obyekt azad edilir

Diqqət yetirilməsi vacib olan məqamlar arasında, ARC-nin avtomatik həll edə bilmədiyi döngüvi referanslar (retain cycles) mövcuddur, məsələn, weak və ya unowned referanslar istifadə edilə bilər.