Junior — Middle
Pode explicar o conceito de Release em Objective-C e o seu papel na gestão de memória?
sobes.tech IA
Resposta da IA
No Objective-C, o método release é utilizado para gerir o ciclo de vida dos objetos no modelo de gestão de memória com contagem de referências. Cada objeto tem um contador de referências que aumenta com retain e diminui com release. Quando o contador chega a zero, o objeto é destruído e a memória é libertada.
O papel de release é diminuir o contador de referências do objeto, sinalizando que o proprietário atual já não necessita do objeto. Isto ajuda a evitar fugas de memória, libertando recursos quando já não são necessários.
Exemplo:
NSObject *obj = [[NSObject alloc] init]; // contador = 1
[obj retain]; // contador = 2
[obj release]; // contador = 1
[obj release]; // contador = 0, o objeto é destruído
É importante chamar release tantas vezes quanto se chamou retain ou alloc/init, para equilibrar o contador e evitar fugas ou remoção prematura do objeto.