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.