Middle
Comment fonctionnent les compteurs (retenir les comptes) avec les liens forts dans iOS?
sobes.tech IA
Réponse de l'IA
Lorsqu'on assigne un objet à une variable avec une référence forte, le compteur de références de l'objet augmente de 1. Lorsque la référence forte devient nulle ou sort de la portée, le compteur de références diminue de 1. L'objet est désalloué lorsque son compteur de références atteint zéro et qu'il n'a plus de références fortes.
Exemple:
class MyObject {
deinit {
// Appelé lors de la désallocation de l'objet
print("MyObject a été désalloué.")
}
}
var object1: MyObject? = MyObject() // object1 - référence forte, compteur de références de MyObject == 1
var object2 = object1 // object2 - référence forte, compteur de références de MyObject == 2
object1 = nil // La référence forte object1 est mise à nil, compteur de références de MyObject == 1
object2 = nil // La référence forte object2 est mise à nil, compteur de références de MyObject == 0
// MyObject est désalloué