Middle
iOS'da kuchli havolalar bilan hisoblagichlar (retention counts) qanday ishlaydi?
sobes.tech AI
AIdan javob
Obyektni kuchli bog'liq bo'lgan o'zgaruvchiga tayinlaganda, ob'ektning bog'lanishlar soni 1 ga oshadi. Kuchli bog'liq nullga o'rnatilsa yoki doira tashqarisiga chiqsa, bog'lanishlar soni 1 ga kamayadi. Ob'ekt bog'lanishlar soni nolga yetganda va kuchli bog'liq bo'lmagan holda, u xotiradan chiqariladi.
Misol:
class MyObject {
deinit {
// Ob'ektni xotiradan chiqarish vaqtida chaqiriladi
print("MyObject xotiradan chiqarildi.")
}
}
var object1: MyObject? = MyObject() // object1 - kuchli bog'liq, MyObject ning bog'lanishlar soni == 1
var object2 = object1 // object2 - kuchli bog'liq, MyObject ning bog'lanishlar soni == 2
object1 = nil // Kuchli bog'liq object1 nullga o'rnatildi, MyObject ning bog'lanishlar soni == 1
object2 = nil // Kuchli bog'liq object2 nullga o'rnatildi, MyObject ning bog'lanishlar soni == 0
// MyObject xotiradan chiqarildi