Swift 是否有方法提取编码键枚举的案例名称?

Swift 是否有方法提取编码键枚举的案例名称?,swift,Swift,我正在尝试访问CodingKeysenum案例的名称。我只能访问它的stringValue。我需要知道名称,因为我要将其与可解码对象中的变量名进行比较。有时stringValue和实际名称不同 我知道我可以手动编写一个变量,返回每个案例的名称……但这是不可伸缩的,因为它会使模型有不必要的锅炉板代码 这是一个基本示例,其中名称与字符串值不同。 我需要以某种方式提取名称 @objcMembers class User: Decodable { dynamic var name: String

我正在尝试访问
CodingKeys
enum案例的名称。我只能访问它的
stringValue
。我需要知道名称,因为我要将其与可解码对象中的变量名进行比较。有时
stringValue
和实际名称不同

我知道我可以手动编写一个变量,返回每个案例的名称……但这是不可伸缩的,因为它会使模型有不必要的锅炉板代码

这是一个基本示例,其中
名称
字符串值
不同。 我需要以某种方式提取
名称

@objcMembers
class User: Decodable {
    dynamic var name: String = ""

    enum CodingKeys: String, CodingKey {
        case name = "user_name"
    }
}

如果有枚举实例,可以将其名称转换为字符串,如下所示:

let myEnum : CodingKeys = .name
let stringRepresentation = "\(myEnum.self)"
print(stringRepresentation) //this will print "name" on the console

不幸的是,它会打印
CodingKeys(stringValue:“用户名”,intValue:nil)
Hmm。。这是因为您有两个“类型”
String,CodingKey
,如果您删除
CodingKey
,它将工作。但是如果您需要,也许您可以创建一个符合RawRepresentable的自定义类型字符串和编码键,并将其用作枚举的类型。我真的不明白您为什么需要它,要解码的对象中变量的名称显然是“user\u name”?请展示一个实际的用例。