我正在尝试访问CodingKeys
枚举案例的名称。我唯一可以访问的是它的stringValue
。我需要知道名称,因为我将其与Decodable对象中的变量名称进行了比较。有时stringValue
和实际名称是不同的。
我知道我可以手动编写一个变量,该变量将返回每种情况的名称...但是它不能扩展,因为它将使模型具有不必要的样板代码量。
这是一个基本示例,其中name
与stringValue
不同。
我需要以某种方式提取name
。
@objcMembers
class User: Decodable {
dynamic var name: String = ""
enum CodingKeys: String, CodingKey {
case name = "user_name"
}
}
答案 0 :(得分:0)
如果您有枚举的实例,则可以将其名称转换为字符串,如下所示:
let myEnum : CodingKeys = .name
let stringRepresentation = "\(myEnum.self)"
print(stringRepresentation) //this will print "name" on the console