Junior — Middle
Como é que o uso de referências fracas influencia a gestão do ciclo de vida dos objetos na memória?
sobes.tech IA
Resposta da IA
As referências fracas (weak references) em iOS (e na gestão de memória em geral) permitem referenciar um objeto sem impedir a sua eliminação pelo coletor de lixo ou pelo sistema ARC (Contagem Automática de Referências). Se um objeto estiver acessível apenas através de referências fracas, ele pode ser libertado da memória.
Isto ajuda a evitar dependências cíclicas e fugas de memória, pois uma referência fraca não aumenta o contador de referências do objeto.
Exemplo em Swift:
class Person {
var name: String
weak var delegate: SomeDelegate?
init(name: String) {
self.name = name
}
}
Aqui, delegate é uma referência fraca para evitar manter o objeto e possíveis ciclos.