Junior — Middle
È possibile implementare una struttura dati utilizzando riferimenti deboli?
sobes.tech AI
Risposta dell'AI
Sì, in iOS (Swift/Objective-C) è possibile implementare strutture dati utilizzando riferimenti deboli (weak references). Questo è particolarmente utile per prevenire riferimenti ciclici e perdite di memoria.
Ad esempio, nell'implementazione di una lista doppiamente collegata o di un grafo, dove gli oggetti si riferiscono reciprocamente, i riferimenti deboli permettono a una delle parti di non mantenere l'oggetto in memoria se non ci sono più riferimenti forti.
Esempio in Swift:
class Node {
var value: Int
weak var parent: Node? // riferimento debole
var children: [Node] = []
init(value: Int) {
self.value = value
}
}
Qui, parent è un riferimento debole per evitare un ciclo tra genitore e figli.