加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

循环通过Swift结构来获取键和值

发布时间:2020-12-14 04:52:59 所属栏目:百科 来源:网络整理
导读:我想循环使用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 c
我想循环使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读