В Swift существует пять модификаторов доступа:
- open: Доступен из любого исходного файла в определяющем модуле и из любого другого модуля, импортирующего определяющий модуль. Подклассы и переопределения возможны из любого модуля.
- public: Доступен из любого исходного файла в определяющем модуле и из любого другого модуля, импортирующего определяющий модуль. Подклассы и переопределения возможны только внутри модуля.
- internal: Доступен из любого исходного файла в определяющем модуле, но не из внешних модулей. По умолчанию.
- fileprivate: Доступен только из исходного файла, в котором определен.
- private: Доступен только из области объявления, в которой определен, включая вложенные типы и расширения внутри того же исходного файла.