Протоколы
Объявление и инициализация
Требования к методам
Требования к свойствам
Требования к конструктору
Требования к методам-индексаторам
Наследование протоколов
Композиция протоколов
Проверка соответствия (is, as)
Коллекция протоколов
Расширение типа
Расширение протокола
Протоколы только для классов
Не обязательные требования
Связанный тип
Изменяющие методы
Пометка соответствия протоколу
Ограничения расширения протокола
Вложенный интерфейс
protocol
Printable
{
func
print
()
}
let
printable =
Printable
()
//<- Error