Sobes.tech
Junior — Middle
103

Swift inclut-il une gestion automatique de la mémoire, similaire à la GC dans d'autres langages?

Réponse de l'IA

sobes.tech IA

В Swift не используется автоматическая сборка мусора (GC) в классическом понимании, как в Java или C#. Вместо этого Swift применяет систему подсчёта ссылок (ARC — Automatic Reference Counting). ARC автоматически отслеживает количество ссылок на объект и освобождает память, когда ссылок не остаётся.

Пример:

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

var person1: Person? = Person(name: "Иван")
var person2 = person1 // увеличивается счётчик ссылок
person1 = nil // объект всё ещё жив, т.к. person2 ссылается
person2 = nil // теперь объект освобождается

Таким образом, ARC работает автоматически, но без пауз и накладных расходов, характерных для традиционных сборщиков мусора.