Sobes.tech
Junior — Middle

Je možné implementovať dátovú štruktúru s použitím slabých odkazov?

sobes.tech AI

Odpoveď od AI

Áno, v iOS (Swift/Objective-C) je možné implementovať dátové štruktúry s použitím slabých odkazov (weak references). Toto je obzvlášť užitočné na prevenciu cyklických odkazov a únikov pamäti.

Napríklad pri implementácii dvojzávitového zoznamu alebo grafu, kde objekty na seba odkazujú, slabé odkazy umožňujú jednej strane neudržiavať objekt v pamäti, ak na neho nie sú žiadne silné odkazy.

Príklad v Swift:

class Node {
    var value: Int
    weak var parent: Node? // slabý odkaz
    var children: [Node] = []

    init(value: Int) {
        self.value = value
    }
}

Tu je parent slabý odkaz, ktorý zabraňuje cyklu medzi rodičom a deťmi.