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.