Ответ
Reference type (ссылочный тип) — это тип данных, экземпляры которого хранятся в куче и передаются по ссылке. При присваивании или передаче в функцию копируется только ссылка на один и тот же объект в памяти.
Ключевые особенности:
- Изменение объекта через одну ссылку видно через все остальные.
- Используют подсчет ссылок (ARC) для управления памятью.
- Поддерживают наследование.
Пример с классом:
class Person {
var name: String
init(name: String) { self.name = name }
}
let person1 = Person(name: "Alice")
let person2 = person1 // Копируется ссылка, а не объект
person2.name = "Bob"
print(person1.name) // "Bob" — изменение через person2 затронуло person1
Почему это важно: Понимание reference types критично для управления памятью, предотвращения непреднамеренного совместного изменения состояния и выбора между классом и структурой. В Swift к reference types относятся классы, замыкания и акторы.