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.