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