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("---")