Sobes.tech
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