繁体   English   中英

如何快速从数组中的数组中获取数据

[英]How to get data from arrays in an array in swift

我正在尝试从我的数组中获取数据

假设我有这样的数据:

[cobaCobaWS.SpecData(lbl1: 1, lbl2: 2, lbl3: 3, lbl4: 4), cobaCobaWS.SpecData(lbl1: 5, lbl2: 6, lbl3: 7, lbl4: 8)]

我正在尝试使用for循环来访问那里的每个数组,但我不能。 看看我下面的代码:

struct SpecData {
     var lbl1: Int
     var lbl2: Int
     var lbl3: Int
     var lbl4: Int
}

var txtFieldArray = [SpecData]()

for arr in txtFieldArray {
        coreNumber = Double(txtFieldArray[0].lbl1)
        machineNumber = txtFieldArray[0].lbl2
        userNumber = txtFieldArray[0].lbl3
        rdsNumber = txtFieldArray[0].lbl4
    }

数组的数量将是动态的,因为用户可以输入他们想要的数量。 我希望我可以像这样把arr放在里面:

coreNumber = Double(txtFieldArray[arr].lbl1)
machineNumber = txtFieldArray[arr].lbl2
userNumber = txtFieldArray[arr].lbl3
rdsNumber = txtFieldArray[arr].lbl4

之后我想将这些数字放入另一个函数中。 所以我希望能够读取我的数组中的每个数组,但我不能我想也许是因为我的数组来自结构? 有人能帮我一下吗?

先感谢您

简单多了, arr是每次迭代的当前元素

for arr in txtFieldArray {
    coreNumber = Double(arr.lbl1)
    machineNumber = arr.lbl2
    userNumber = arr.lbl3
    rdsNumber = arr.lbl4
}

请注意, ...Number变量最终将仅包含数组中最后一项的值。 在实践中,循环是没有意义的。

你可以用更Swifty方式做到这一点:

 txtFieldArray.forEach {
      coreNumber.append(Double($0.lbl1))
      machineNumber.append($0.lbl2)
      userNumber.append($0.lbl3)
      rdsNumber.append($0.lbl4)
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM