2017-09-03 4 views
1

IはCodableプロトコルに準拠Stringの関連するタイプとEmailVerificationStatus列挙を有する:Codableプロトコルに準拠する列挙型にCodingKeysを使用するにはどうすればよいですか?

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" 
     } 
    } 
関連する問題