Назад к вопросам
Junior — Middle
74
Включена ли в Swift автоматическая сборка мусора, аналогичная GC в других языках?
Ответ от нейросети
sobes.tech AI
В 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 работает автоматически, но без пауз и накладных расходов, характерных для традиционных сборщиков мусора.