Sobes.tech
Junior — Middle

É possível implementar uma estrutura de dados usando referências fracas?

sobes.tech IA

Resposta da IA

Sim, é possível implementar estruturas de dados usando referências fracas (weak references) em iOS (Swift/Objective-C). Isto é especialmente útil para evitar referências circulares e fugas de memória.

Por exemplo, ao implementar uma lista duplamente ligada ou um grafo, onde os objetos referenciam-se mutuamente, referências fracas permitem que uma das partes não mantenha o objeto na memória se não houver referências fortes a ele.

Exemplo em Swift:

class Node {
    var value: Int
    weak var parent: Node? // referência fraca
    var children: [Node] = []

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

Aqui, parent é uma referência fraca para evitar um ciclo entre o pai e os filhos.