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.