Sobes.tech
Junior — Middle

Quand la mémoire d'un objet pointé par un compteur de références fortes est-elle automatiquement libérée et devient-elle inaccessible?

sobes.tech IA

Réponse de l'IA

La libération automatique de la mémoire pour un objet avec des références fortes se produit lorsque le compteur de références fortes de cet objet devient nul, c'est-à-dire qu'aucune référence forte ne pointe vers l'objet.

À ce moment, l'objet devient inaccessible et peut être supprimé par le système de gestion de mémoire (ARC dans iOS). Si au moins une référence forte existe, l'objet reste en mémoire.

Exemple :

class MyClass {}

var a: MyClass? = MyClass() // compteur de références fortes = 1
var b = a                   // compteur de références fortes = 2

a = nil                    // compteur de références fortes = 1
b = nil                    // compteur de références fortes = 0, l'objet est libéré

Ainsi, la libération de mémoire se produit automatiquement lorsque l'objet n'est plus nécessaire et qu'il n'y a plus de références fortes.