Swift元组获取命名参数
如果我有如下枚举:Swift元组获取命名参数,swift,reflection,enums,tuples,Swift,Reflection,Enums,Tuples,如果我有如下枚举: enum TempEnum { case AAA(name:String, age:Int) case BBB(country:String) case CCC } 我希望能够为每个案例生成一个字典,其中包含每个案例的相关参数。我不想改变主意 如果我执行此代码: let aaa = TempEnum.AAA(name: "bobby", age: 10) let mirror = Mirror(reflecting: aaa) var lab
enum TempEnum {
case AAA(name:String, age:Int)
case BBB(country:String)
case CCC
}
我希望能够为每个案例生成一个字典,其中包含每个案例的相关参数。我不想改变主意
如果我执行此代码:
let aaa = TempEnum.AAA(name: "bobby", age: 10)
let mirror = Mirror(reflecting: aaa)
var labels = [String]()
var values = [Any]()
for (label, value) in mirror.children {
for (label, value) in Mirror(reflecting: value).children {
labels.append(label!)
values.append(value)
}
}
标签是:[.0”、.1”]
值为:[“bobby”,10]
有没有办法检索实际的命名参数(如果它们确实存在的话),这样标签就不是了。可以反映类型的属性名称,但可能不能反映元组的参数名称。