Sobes.tech
Junior — Middle

iOS'dagi avtomatik xotira boshqarish mexanizmi ARC nima ekanligini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

ARC (Otomatik Referans Hisoblash) iOS'da xotira boshqarish mexanizmi bo'lib, u avtomatik ravishda ob'ektlarning hayot aylanishini kuzatadi va boshqaradi. Qo'lda retain/release chaqirmasdan, kompilyator bu chaqiruvlarni siz uchun qo'shadi, ob'ektning referenslar hisoblagichini oshiradi yoki kamaytiradi.

Ob'ektning referenslar hisoblagichi nolga teng bo'lsa, ob'ekt avtomatik ravishda xotiradan chiqariladi. Bu xotira oqib ketishining oldini oladi va rivojlantirishni soddalashtiradi.

Misol:

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

var person1: Person? = Person(name: "Ivan")
var person2 = person1 // referenslar soni oshadi
person1 = nil // son kamayadi
person2 = nil // son 0 ga teng bo'ladi, ob'ekt chiqariladi

E'tibor berish kerak bo'lgan muhim nuqtalar, ARC avtomatik ravishda hal qila olmaydigan siklik referensiyalar (retain cycles) mavjud, masalan, weak yoki unowned referenslar yordamida oldini olish mumkin.