Swift Используйте enum с пользовательским ответом

Я хочу использовать перечисление в Swift для некоторых вещей, таких как предметы в школе. И если кто-то хочет иметь другой предмет, которого нет в перечислении, он может ввести предмет в качестве пользовательского значения. Например:

enum Subjects {
    case Math
    case German
    case French
    case Chemistry
    case another //type in which it is
}

var example1 = Subjects.Math
var example2 = Subjects.another("Physics")

1 ответ

Решение

Это идеальный пример использования ассоциированного значения

enum Subjects {
  case Math
  case German
  case French
  case Chemistry
  case Other(String)
}

var example1 = Subjects.Math
var example2 = Subjects.Other("Physics")

switch example2 {
  case .Other(let type) : print(type)
  default: break
}
Другие вопросы по тегам