Sobes.tech
Junior — Middle

¿Incluye Swift recolección automática de basura, similar a GC en otros lenguajes?

sobes.tech AI

Respuesta de la IA

En Swift no se utiliza la recolección automática de basura (GC) en el sentido clásico, como en Java o C#. En su lugar, Swift aplica un sistema de conteo de referencias (ARC — Automatic Reference Counting). ARC rastrea automáticamente el número de referencias a un objeto y libera la memoria cuando ya no hay referencias.

Ejemplo:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

var person1: Person? = Person(name: "Ivan")
var person2 = person1 // aumenta el contador de referencias
person1 = nil // el objeto todavía vive, ya que person2 hace referencia a él
person2 = nil // ahora el objeto se libera

De esta manera, ARC funciona automáticamente, pero sin pausas ni costos adicionales, característicos de los recolectores de basura tradicionales.