在Swift 3中迭代一个带索引的数组

时间:2016-11-01 01:23:24

标签: arrays swift

我正在尝试使用Swift 3中的索引迭代一个数组但是继续

  

表达式类型'[Int]'不含更多上下文

是不明确的

这可以通过以下示例在游乐场中重现:

var a = [Int]()
a.append(1)
a.append(2)
// Gives above error
for (index, value) in a {
  print("\(index): \(value)")
}

我不确定它要求的背景。

2 个答案:

答案 0 :(得分:23)

您忘了拨打a.enumerated(),这就是为您提供(index, value)元组的原因。 for value in a为每个元素提供了索引。

答案 1 :(得分:3)

正确代码:

var a = [Int]()
a.append(1)
a.append(2)
// Gives above error
for (index, value) in a.enumerated() {
    print("\(index): \(value)")
}