Sobes.tech
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 е слаба препратка, за да се избегне цикъл между родителя и децата.