Junior — Middle
iOS-də avtomatik yaddaş idarəetmə mexanizmi ARC-nin əsas prinsiplərini izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
ARC (Avtomatik Referansların Sayılması) iOS-də yaddaş idarəetmə mexanizmidir və avtomatik olaraq obyektlərin həyat müddətini izləyir və idarə edir. ARC-nin əsas prinsipi obyektə olan referansların sayını hesablamaqdır.
Obyekt yaradıldıqda, ARC referans sayğacını 1 artırır. Obyekt yeni bir dəyişənə təyin olunduqda, sayğac artır, və referans silindikdə, azaldılır. Obyektin referans sayı sıfıra çatdıqda, obyekt avtomatik olaraq yaddaşdan azad edilir.
Nümunə:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
var person1: Person? = Person(name: "Ivan") // sayğac = 1
var person2 = person1 // sayğac = 2
person1 = nil // sayğac = 1
person2 = nil // sayğac = 0, obyekt azad edilir
Yaddaşın sərbəst buraxılmasını əngəlləyən döngüvi referanslar (retain cycles) qarşısını almaq vacibdir, çünki onlar yaddaşın sərbəst buraxılmasını mane olur. Bunun üçün zəif (weak) və mülkiyyət olmayan (unowned) referanslar istifadə olunur.