Sobes.tech
Middle

iOS'ta güçlü bağlantılarla sayıcılar (retention counts) nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir nesneyi güçlü referansla bir değişkene atadığınızda, nesnenin referans sayacı 1 artar. Güçlü referans null yapılırsa veya kapsam dışına çıkarsa, referans sayısı 1 azalır. Nesne, referans sayısı sıfıra ulaşınca ve artık güçlü referanslara sahip değilse, bellekten kaldırılır.

Örnek:

class MyObject {
    deinit {
        // Nesne bellekten kaldırıldığında çağrılır
        print("MyObject bellekten kaldırıldı.")
    }
}

var object1: MyObject? = MyObject() // object1 - güçlü referans, MyObject'in referans sayısı == 1
var object2 = object1 // object2 - güçlü referans, MyObject'in referans sayısı == 2

object1 = nil // Güçlü referans olan object1 null yapıldı, MyObject'in referans sayısı == 1
object2 = nil // Güçlü referans olan object2 null yapıldı, MyObject'in referans sayısı == 0
// MyObject bellekten kaldırılır