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