Sobes.tech
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.