Junior — Middle
Da li je moguće implementirati strukturu podataka koristeći slabe reference?
sobes.tech АИ
Одговор од АИ
Да, у iOS (Swift/Objective-C) можете да реализирате структури от данни с използване на слаби препратки (weak references). Това е особено полезно за предотвратяване на циклични препратки и течове на памет.
Например, при реализиране на двусвързана листа или граф, където обектите се препращат взаимно, слаби препратки позволяват на една от страните да не държи обекта в паметта, ако няма силни препратки към него.
Пример в Swift:
class Node {
var value: Int
weak var parent: Node? // слаба препратка
var children: [Node] = []
init(value: Int) {
self.value = value
}
}
Тук, parent е слаба препратка, за да се избегне цикъл между родителя и децата.