Junior — Middle
Quando ocorre a libertação automática de memória para um objeto apontado por um contador de referências fortes e ele se torna inacessível?
sobes.tech IA
Resposta da IA
A libertação automática de memória para um objeto com referências fortes ocorre quando o contador de referências fortes para esse objeto chega a zero, ou seja, nenhuma referência forte aponta para o objeto.
Neste momento, o objeto torna-se inacessível e pode ser removido pelo sistema de gestão de memória (ARC no iOS). Se existir pelo menos uma referência forte, o objeto permanece na memória.
Exemplo:
class MyClass {}
var a: MyClass? = MyClass() // contador de referências fortes = 1
var b = a // contador de referências fortes = 2
a = nil // contador de referências fortes = 1
b = nil // contador de referências fortes = 0, o objeto é liberado
Assim, a liberação de memória ocorre automaticamente quando o objeto não é mais necessário e não há referências fortes a ele.