我想循环遍历每个键,mystruct并打印其键和每个属性的值.
struct mystruct {
var a = "11215"
var b = "21212"
var c = "39932"
}
func loopthrough {
for (key, value) in mystruct {
print("key: \(key), value: \(value)") // Type mystruct.Type does not conform to protocol 'Sequence'
}
}
Run Code Online (Sandbox Code Playgroud)
但是使用上面的几行我总是得到这个错误信息:
类型mystruct.Type不符合协议'序列'
如何避免收到此消息?
Luc*_*tti 25
首先让我们使用CamelCase作为结构名称
struct MyStruct {
var a = "11215"
var b = "21212"
var c = "39932"
}
Run Code Online (Sandbox Code Playgroud)
接下来,我们需要创建MyStruct类型的值
let elm = MyStruct()
Run Code Online (Sandbox Code Playgroud)
现在我们可以Mirror根据elm价值建立一个价值.
let mirror = Mirror(reflecting: elm)
Run Code Online (Sandbox Code Playgroud)
该Mirror值确实允许我们访问所有属性elm,这是如何
for child in mirror.children {
print("key: \(child.label), value: \(child.value)")
}
Run Code Online (Sandbox Code Playgroud)
结果:
key:可选("a"),值:11215
key:可选("b"),值:21212
key:可选("c"),值:39932
| 归档时间: |
|
| 查看次数: |
6675 次 |
| 最近记录: |