Информация о типах данных в Swift хранится в метаданных типа (type metadata).
Метаданные типа содержат следующие сведения:
- Размер типа.
- Выравнивание типа в памяти.
- Stride (расстояние между элементами в массиве).
- Свойства типа (например, для классов и структур).
- Методы типа.
- Протоколы, которым соответствует тип.
- Для классов: суперкласс, информация о виртуальной таблице (vtable).
Доступ к метаданным осуществляется через type(of:) или .self для конкретного экземпляра или типа.
swift