Sobes.tech
Junior — Middle

Pouvez-vous expliquer le mécanisme de gestion automatique de la mémoire dans ARC et comment il libère les objets inutilisés?

sobes.tech IA

Réponse de l'IA

ARC ( comptage automatique de références ) est un mécanisme de gestion de mémoire dans iOS qui suit automatiquement le nombre de références aux objets et les libère lorsqu'ils ne sont plus nécessaires.

Principe de fonctionnement :

  • Chaque objet a un compteur de références (compte de retention).
  • Lorsqu'une référence à un objet est créée, le compteur augmente.
  • Lorsqu'une référence est supprimée, le compteur diminue.
  • Lorsque le compteur atteint zéro, l'objet est automatiquement supprimé de la mémoire.

ARC fonctionne lors de la compilation, en insérant des appels à retain/release dans le code, donc le programmeur n'a pas besoin de gérer manuellement la mémoire.

Exemple en Swift :

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

var person1: Person? = Person(name: "Иван") // compteur de retention = 1
var person2 = person1 // compteur de retention = 2
person1 = nil // compteur de retention = 1
person2 = nil // compteur de retention = 0, l'objet Person est supprimé

Ainsi, ARC libère automatiquement les objets lorsqu'il n'y a plus de références actives.