Junior — Middle
Podes dar um exemplo de uma situação em que uma referência fraca é automaticamente definida como nula?
sobes.tech IA
Resposta da IA
A referência fraca é automaticamente anulada quando o objeto ao qual ela se refere é libertado da memória (ou seja, quando não há mais referências fortes a ele).
Por exemplo, no iOS, usando uma referência weak ao delegado:
class ViewController: UIViewController {
weak var delegate: SomeDelegate?
}
Se o objeto delegado for destruído (por exemplo, sai do escopo e é libertado), então delegate torna-se automaticamente nil. Isto impede o acesso a um objeto já libertado e ajuda a evitar erros e fugas de memória.