Видеокурсы по изучению языка программирования Swift. Подробнее

Расширения

Если вы нашли опечатку в тексте, выделите ее и нажмите CTRL + ENTER.

Расширения добавляют новую функциональность существующему типу класса, структуры или перечисления. Это включает в себя возможность расширять типы, к исходным кодам которых у вас нет доступа (известно как ретроактивное моделирование). Расширения очень похожи на категории из Objective-C. (В отличии от категорий из Objective-C, расширения в Swift не имеют имен.)

Расширения в Swift могут:

  • Добавлять вычисляемые свойства и вычисляемые свойства типа
  • Определять методы экземпляра и методы типа
  • Предоставлять новые инициализаторы
  • Определять сабскрипты (индексы)
  • Определять новые вложенные типы
  • Обеспечить соответствие существующего типа протоколу

В Swift вы можете даже расширить протокол, предоставив реализацию его требованиям или добавить дополнительные функциональные возможности, преимущества которых могут быть использованы подписанным под протокол типом. Для получения более подробной информации см. Расширения протокола.

Заметка

Раширения могут добавлять новую функциональность типу, но они не могут переписать существующую функциональность.

 

Swift: 
4.0