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