How to get enum from raw value in Swift?

前端 未结 7 1086
一向
一向 2020-12-13 23:25

I\'m trying to get enum type from raw value:

enum TestEnum: String {
    case Name
    case Gender
    case Birth

    var rawValue: String {
        switch          


        
7条回答
  •  -上瘾入骨i
    2020-12-14 00:05

    Too complicated, just assign the raw values directly to the cases

    enum TestEnum: String {
      case Name = "Name"
      case Gender = "Gender"
      case Birth = "Birth Day"
    }
    
    let name = TestEnum(rawValue: "Name")!       //Name
    let gender = TestEnum(rawValue: "Gender")!   //Gender
    let birth = TestEnum(rawValue: "Birth Day")! //Birth
    

    If the case name matches the raw value you can even omit it

    enum TestEnum: String {
      case Name, Gender, Birth = "Birth Day"
    }
    

    In Swift 3+ all enum cases are lowercased

提交回复
热议问题