Junior — Middle
Pouvez-vous expliquer le principe de fonctionnement de la gestion automatique de la mémoire ARC en Objective-C?
sobes.tech IA
Réponse de l'IA
ARC (Comptage Automatique de Références) est un mécanisme de gestion de mémoire en Objective-C qui suit automatiquement le nombre de références aux objets et libère la mémoire lorsque l’objet n’est plus utilisé.
Le principe de fonctionnement d’ARC repose sur le comptage des références (compte de retention) :
- Lorsqu’un objet est créé, son compteur de références est de 1.
- Lorsqu’un objet est assigné à une nouvelle variable, le compteur augmente (retain).
- Lorsqu’une variable sort de la portée ou est assignée à nil, le compteur diminue (release).
- Lorsque le compteur atteint 0, l’objet est automatiquement supprimé de la mémoire.
Exemple :
NSObject *obj = [[NSObject alloc] init]; // compteur de retention = 1
self.property = obj; // le compteur augmente
obj = nil; // le compteur diminue
// Lorsque toutes les références à l’objet disparaissent, la mémoire est libérée automatiquement
Le développeur n’a pas besoin d’appeler explicitement retain/release, ARC insère ces appels lors de la compilation, ce qui réduit la probabilité d’erreurs de gestion de mémoire, telles que les fuites ou les libérations doubles.