Какие другие типы данных, кроме классов, считаются ссылочными типами в языке программирования?

В языке Swift, кроме классов, к ссылочным типам относятся:

Короткий ответ

Что ответить на собеседовании

В языке Swift, кроме классов, к ссылочным типам относятся:

Подробный разбор

Ответ с пояснениями

В языке Swift, кроме классов, к ссылочным типам относятся:

  • Замыкания (Closures) — функции, которые могут захватывать и хранить ссылки на переменные из окружающего контекста.
  • Функции — в Swift функции являются ссылочными типами.
  • Некоторые типы из Objective-C, например, объекты Foundation (NSString, NSArray и т.д.) — они реализованы как классы и являются ссылочными.

В отличие от структур и перечислений, которые являются значимыми типами (value types), ссылочные типы передаются по ссылке, то есть при присваивании или передаче в функцию копируется ссылка на один и тот же объект, а не его копия.

Пример:

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", так как person1 и person2 ссылаются на один объект

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее