我想循环使用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' } }
但是使用上面的几行我总是得到这个错误信息:
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()
现在我们可以根据elm值构建一个Mirror值.
let mirror = Mirror(reflecting: 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。