Как стать автором
Обновить

Enum в Swift: Перечисления Возможных Сценариев

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров4.6K
Всего голосов 3: ↑3 и ↓0+3
Комментарии4

Комментарии 4

Что-то пример с переопределением оператора "+" для File у вас выглядит слишком искусственным. Не понятен смысл такого переопределения. Предположим в Associated Value мы хранили имя файла (например "image1.jpg"), которое затем передавали в FileManager, который по нему мог выполнять копирование или удаление файла. Что теперь делать с абстракцией File, когда Associated Value после "сложения" стало таким: "image1.jpgimage2.jpg"?

Интересно было прочитать про использование closure и associated type в перичислении. Хочется спросить, возможно ли карирование при использовании indirect перечислений? И в каком случае будет использоваться dynamic dispatch вместо традиционного для перечисления static dispatch?

Кстати, оператор сравнения вручную реализовывать не нужно. Достаточно прописать Comparable протокол в объявлении.

Про оператор сравнения спасибо, буду знать!

Внутри indirect dynamic dispatch, т.к вызов метода будет определяться во время выполнения программы, а не во время компиляции, соответственно тип конкретного варианта перечисления может быть неизвестным до времени выполнения

Возможно, почему нет:

Скриншот

Operation или Action? Или я что-то не понял?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории