我想循环遍历 mystruct
的每个键并打印其 key 和它的 值 对于每个属性。
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'
}
}
但是使用上面的几行我总是收到此错误消息:
Type mystruct.Type does not conform to protocol 'Sequence'
如何避免收到此消息?
最佳答案
首先让我们使用 CamelCase 对于结构名称
struct MyStruct {
var a = "11215"
var b = "21212"
var c = "39932"
}
接下来我们需要创建一个 MyStruct 类型的值
let elm = MyStruct()
现在我们可以构建一个
Mirror
值基于 elm
值(value)。let mirror = Mirror(reflecting: elm)
Mirror
value 确实允许我们访问 elm
的所有属性, 就是这样for child in mirror.children {
print("key: \(child.label), value: \(child.value)")
}
结果:
key: Optional("a"), value: 11215
key: Optional("b"), value: 21212
key: Optional("c"), value: 39932
关于swift - 循环遍历 Swift 结构以获取键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48476011/