在Swift数组索引上使用for循环超出范围错误

时间:2016-08-25 22:28:11

标签: arrays swift loops indexing

我得到一个"超出范围错误"当使用for循环遍历数组时,我无法弄清楚原因。

var oddNumbers: [Int] = [1,3,5,7,9]
for number in (0...oddNumbers.count+1) {
    print(oddNumbers[number])
}

1 个答案:

答案 0 :(得分:1)

您的数组中有5个值,但您的循环从0到6,所以最终得到:

  

指数0:1

     

指数1:3

     

指数2:5

     

指数3:7

     

指数4:9

     

索引5:错误

更好的方法是使用数组计数并运行循环,直到一个数字小于该数字(以考虑索引编号)。请注意使用..<代替...count代替count + 1

var oddNumbers: [Int] = [1,3,5,7,9]
for number in (0 ..< oddNumbers.count) {
    print(oddNumbers[number])
}