Junior — Middle
Възможно ли е да се реализира структура от данни с използване на слаби препратки?
sobes.tech AI
Отговор от AI
Да, в 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 е слаба препратка, за да се избегне цикъл между родителя и децата.