Какой модификатор доступа используется по умолчанию в Swift?

«Какой модификатор доступа используется по умолчанию в Swift?» — вопрос из категории Swift Core, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Swift по умолчанию для всех сущностей (классов, структур, свойств, методов) применяется модификатор internal.

Что это значит:

  • Сущность видна и доступна в пределах всего модуля (например, всего приложения или фреймворка).
  • За пределами модуля она недоступна.

Пример:

// И класс, и его члены по умолчанию имеют модификатор `internal`.
class MyClass {
    var property = 0
    func doSomething() {}
}

Другие модификаторы для контроля области видимости:

  • private / fileprivate — для ограничения доступа внутри объявляющей области или файла.
  • public / open — для предоставления доступа из других модулей (open позволяет также наследоваться и переопределять).