Sobes.tech
Junior — Middle

Je možné implementovat datovou strukturu s použitím slabých odkazů?

sobes.tech AI

Odpověď od AI

Ano, v iOS (Swift/Objective-C) je možné implementovat datové struktury s použitím slabých odkazů (weak references). To je obzvláště užitečné pro prevenci cyklických odkazů a úniků paměti.

Například při implementaci dvousměrně vázaného seznamu nebo grafu, kde objekty na sebe odkazují, umožňují slabé odkazy, aby jedna strana neudržovala objekt v paměti, pokud na něj nejsou žádné silné odkazy.

Příklad v Swift:

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

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

Zde je parent slabý odkaz, který zabraňuje cyklu mezi rodičem a dětmi.