2017-09-03 28 views
1

我有一个EmailVerificationStatus枚举与该符合Codable协议的String相关类型:如何将CodingKeys用于符合Codable协议的枚举?

enum EmailVerificationStatus: String, Codable { 
    case unverified 
    case verified 
} 

我正在与工作的web服务发送的那些情况下大写(UNVERIFIED/VERIFIED)。我如何使用CodingKeys枚举来映射这种差异?像下面的东西不起作用:

enum CodingKeys: String, CodingKey { 
    case unverified = "UNVERIFIED" 
    case verified = "VERIFIED" 
} 

回答

1

好的。那很简单。无CodingKeys需要:

enum EmailVerificationStatus: String, Codable { 
    case verified = "VERIFIED" 
    case unverified = "UNVERIFIED" 
} 
0

我会建议你使用结构的电子邮件...类型和嵌套你的结构中枚举CodingKeys。 CodingKeys允许您将结构变量与您的源数据案例(来自webservice)进行映射。

struct EmailVerificationStatus: String, Codable { 
     var unverified: String 
     var verified: String 

     enum CodingKeys: String, CodingKey { 
      case unverified = "UNVERIFIED" 
      case verified = "VERIFIED" 
     } 
    } 
相关问题