Junior — Middle
Un objet sera-t-il automatiquement supprimé de la mémoire s'il est référencé par trois références faibles (weak) et une référence non obligée (unowned) ?
sobes.tech IA
Réponse de l'IA
L'objet sera automatiquement supprimé de la mémoire s'il ne reste plus de références fortes (strong) vers lui. Les références faibles (weak) et non obligatoires (unowned) n'augmentent pas le compteur de références de l'objet. Dans votre cas, s'il n'y a que trois références weak et une unowned, mais aucune référence strong, l'objet est considéré comme inutilisé et sera désalloué.
Exemple:
class MyClass {}
var strongRef: MyClass? = MyClass() // référence forte
weak var weakRef1 = strongRef
weak var weakRef2 = strongRef
weak var weakRef3 = strongRef
unowned var unownedRef = strongRef!
strongRef = nil // il n'y a plus de références fortes, l'objet sera supprimé