Sobes.tech
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.