2016-09-21 4 views
0

У меня есть массив перечислений, который должен удалить один из Enum. Я написал общую операцию удаления на основе here. Обычно мы соглашаемся с Equableable Struct. Поэтому мне интересно, как Equatable будет вести себя в Enum. Если это не правильный способ записи общей операции удаления для сбора массива Enum, тогда что будет правильным?Понимание Equatable в быстрой 3?

enum APIEndPoints: Equatable { 
    case image 
    case email 
    case others 
} 

ответ

3

По определению две перечисления того же типа равны, если они одного и того же корпуса. Таким образом, .image равен, например, .image. Вот почему вы можете протестировать экземпляры enum друг против друга с помощью оператора ==, чтобы узнать, в каком случае что-то есть. Действительно, этот факт является своего рода точкой перечислений.

(Это, кстати, тоже почему перечисления не могут быть сохранены свойствами. Два .image экземпляров с различными сохраненными значениями для того же свойства бы не быть равно. И это будет полностью поражение цели перечислений.)

Смежные вопросы