ios - 如何将 CodingKeys 用于符合 Codable 协议(protocol)的枚举?

标签 ios enums swift4 codable

我有一个 EmailVerificationStatus 枚举,它有一个符合 Codable 协议(protocol)的 String 关联类型:

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

我正在使用的网络服务以大写形式发送这些案例 (UNVERIFIED/VERIFIED)。我如何使用 CodingKeys 枚举来映射这种差异?以下内容不起作用:

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

最佳答案

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

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

关于ios - 如何将 CodingKeys 用于符合 Codable 协议(protocol)的枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46024185/

相关文章:

ios - Swift 在没有开关的情况下获取枚举中的关联值

ios - Objective C 整数数学错误 (2200 - 100 = 1800) - 不知道为什么

iphone - iOS 应用角标(Badge)仍然存在

c# - 如何根据枚举的类型和字段之一的名称创建枚举的表达式?

C++ 枚举标志用法

swift - 导航到另一个 xib 时未在 AppKit(主)线程问题上运行

ios - 在 ios8 中使用共享扩展共享图像

c++ - 如何优雅地将所有枚举放入 std::set

ios - 使用 JSON swift4 中的 key 解码结构

ios - 如何在 IOS Swift 4 的 Uitableviewcell 中递增和递减变量