Middle
iOS-də güclü bağlantılarla sayğaclar (retention counts) necə işləyir?
sobes.tech Süni İntellekt
AI-dan cavab
Güclü istinad ilə dəyişənə obyekt təyin etdikdə, obyektin istinad sayı 1 artır. Güclü istinad null edilərsə və ya sahədən çıxarsa, istinad sayı 1 azalar. Obyekt, onun istinad sayı sıfıra çatdıqda və artıq güclü istinadlar olmadıqda, yaddaşdan silinir.
Nümunə:
class MyObject {
deinit {
// Obyektin deallocasiyası zamanı çağırılır
print("MyObject yaddaşdan silindi.")
}
}
var object1: MyObject? = MyObject() // object1 - güclü istinad, MyObject-in istinad sayı == 1
var object2 = object1 // object2 - güclü istinad, MyObject-in istinad sayı == 2
object1 = nil // Güclü istinad object1 null edildi, MyObject-in istinad sayı == 1
object2 = nil // Güclü istinad object2 null edildi, MyObject-in istinad sayı == 0
// MyObject yaddaşdan silindi