Sobes.tech
Junior — Middle

Em que casos se aplica uma referência fraca na programação?

sobes.tech IA

Resposta da IA

Referências fracas (weak references) são usadas quando é necessário referenciar um objeto, mas sem impedir a sua recolha pelo garbage collector. Isto é útil para evitar fugas de memória.

Por exemplo, no iOS, ao trabalhar com delegados, frequentemente usam-se referências fracas para evitar ciclos de retenção (retain cycles). Se o objeto A referencia o objeto B, e B referencia de volta A com uma referência forte, eles não serão libertados.

Exemplo de uso de referência fraca em Swift:

class ViewController: UIViewController {
    weak var delegate: SomeDelegate?
}

Aqui, delegate é uma referência fraca, portanto, se o delegado for removido, a referência torna-se automaticamente nil, prevenindo uma fuga de memória.