Junior — Middle
Comment l'utilisation de références fortes dans un langage de programmation influence-t-elle la durée de vie d'un objet en mémoire?
sobes.tech IA
Réponse de l'IA
Dans iOS (et en Swift/Objective-C), les références fortes (strong) sont des références normales aux objets qui augmentent le compteur de références de l'objet. Tant qu'il existe au moins une référence forte à l'objet, celui-ci ne sera pas supprimé de la mémoire.
Cela signifie que l'objet continue d'exister en mémoire tant qu'il y a des références strong. Lorsque toutes les références strong sont supprimées ou deviennent nil, l'objet est automatiquement libéré (ARC — comptage automatique des références).
Exemple:
class Person {
var name: String
init(name: String) { self.name = name }
}
var person1: Person? = Person(name: "Alex") // référence forte
var person2 = person1 // augmente le compteur de références
person1 = nil // l'objet existe toujours, car person2 y fait référence
person2 = nil // l'objet est maintenant libéré
Ainsi, les références strong influencent directement la durée de vie de l'objet en mémoire — tant qu'il y en a au moins une, l'objet est vivant.