Swift Tuple获得命名参数

时间:2016-03-22 19:21:03

标签: 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 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]

有没有办法检索实际的命名参数(如果确实存在),那么标签是["name", "age"]

0 个答案:

没有答案
相关问题