Sobes.tech
Junior

Qu'est-ce que les modificateurs de mémoire strong?

sobes.tech IA

Réponse de l'IA

Le modificateur strong maintient une référence forte à l'objet, empêchant sa désallocation tant qu'au moins une référence forte existe. Utilisé par défaut pour les variables déclarées sans modificateurs spéciaux.

Exemple :

class MyClass {
    var name: String = ""

    init(name: String) {
        self.name = name
        print("Objet '\(name)' créé")
    }

    deinit {
        print("Objet '\(name)' désalloué")
    }
}

// référence forte
var obj1: MyClass? = MyClass(name: "Premier")
// Autre référence forte
var obj2: MyClass? = obj1

print("---")

// Mettre à nil une référence ne conduit pas à la désallocation
obj1 = nil
print("---")

// Mettre à nil la dernière référence forte conduit à la désallocation
obj2 = nil
print("---")