Как я могу определить количество случаев в перечислении Swift?
(Я хотел бы избежать ручного перечисления всех значений или использования старого трюка enum_count, если это возможно.)
Как я могу определить количество случаев в перечислении Swift?
(Я хотел бы избежать ручного перечисления всех значений или использования старого трюка enum_count, если это возможно.)
Ответы:
Начиная с Swift 4.2 (Xcode 10) вы можете объявить о соответствии CaseIterable
протоколу, это работает для всех перечислений без связанных значений:
enum Stuff: CaseIterable {
case first
case second
case third
case forth
}
Количество случаев теперь просто получается с
print(Stuff.allCases.count) // 4
Для получения дополнительной информации см.