Junior — Middle
Pode explicar o que significa o mecanismo automático de gestão de memória ARC no iOS?
sobes.tech IA
Resposta da IA
O ARC (Contagem Automática de Referências) é um mecanismo de gestão de memória no iOS que rastreia e gere automaticamente o ciclo de vida dos objetos. Em vez de chamar manualmente retain/release, o compilador insere essas chamadas por si, aumentando ou diminuindo o contador de referências do objeto.
Quando o contador de referências de um objeto atinge zero, o objeto é automaticamente libertado da memória. Isto ajuda a evitar fugas de memória e simplifica o desenvolvimento.
Exemplo:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
var person1: Person? = Person(name: "Ivan")
var person2 = person1 // o contador de referências aumenta
person1 = nil // o contador diminui
person2 = nil // o contador torna-se 0, o objeto é libertado
É importante estar atento aos ciclos de referência (cycles de retenção), que o ARC não consegue resolver automaticamente, por exemplo, usando referências weak ou unowned.