做出一个假设:
struct A{ var a:String; var b:Int }
如何制作for循环或其他一些方法来获取Struct A中的变量名称?
答案 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