Junior — Middle
Este posibil să implementați o structură de date folosind referințe slabe?
sobes.tech AI
Răspuns de la AI
Da, în iOS (Swift/Objective-C) se pot implementa structuri de date folosind referințe slabe (weak references). Acest lucru este deosebit de util pentru prevenirea referințelor ciclice și a scurgerilor de memorie.
De exemplu, la implementarea unei liste dublu înlănțuite sau a unui graf, unde obiectele se referă reciproc, referințele slabe permit uneia dintre părți să nu mențină obiectul în memorie dacă nu mai există referințe puternice către acesta.
Exemplu în Swift:
class Node {
var value: Int
weak var parent: Node? // referință slabă
var children: [Node] = []
init(value: Int) {
self.value = value
}
}
Aici, parent este o referință slabă pentru a evita un ciclu între părinte și copii.