如何在swift中获取结构中的变量名?

时间:2016-05-18 04:11:41

标签: swift

做出一个假设:

struct A{ var a:String; var b:Int }

如何制作for循环或其他一些方法来获取Struct A中的变量名称?

1 个答案:

答案 0 :(得分:7)

Mirror是Swift中反射的类(它实际上是一个结构体)。下面是枚举结构属性的一个非常简单的示例。

let a = A(a: "abc", b: 1)
let mirror = Mirror(reflecting: a)
for child in mirror.children {
    print(child.label!)
    print(child.value)
}

输出将是:

a
abc
b
1

在Swift Reflection API上发现了一篇值得一读的帖子:pthread_create