Middle
Jak fungují počítadla (retention counts) se silnými odkazy v iOS?
sobes.tech AI
Odpověď od AI
Při přiřazení objektu proměnné se silnou referencí se počet odkazů na objekt zvýší o 1. Když se silná reference nastaví na null nebo opustí rozsah, počet odkazů se sníží o 1. Objekt je uvolněn, když počet odkazů dosáhne nuly a již nemá žádné silné reference.
Příklad:
class MyObject {
deinit {
// Volá se při uvolnění objektu
print("MyObject byl uvolněn.")
}
}
var object1: MyObject? = MyObject() // object1 - silná reference, počet odkazů na MyObject == 1
var object2 = object1 // object2 - silná reference, počet odkazů na MyObject == 2
object1 = nil // Silná reference object1 nastavena na null, počet odkazů na MyObject == 1
object2 = nil // Silná reference object2 nastavena na null, počet odkazů na MyObject == 0
// MyObject je uvolněn