2016-08-25 37 views
-4

当使用for循环遍历数组时,我遇到了“超出范围错误”,但我找不到原因。在Swift数组的索引中使用for循环超出范围错误

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

'oddNumbers'的指数需要在0〜'oddNumbers.count - 1'(含)。在(0 ... oddNumbers.count + 1)中编写'数字'','数字'可以比这更大。 – OOPer

回答

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]) 
}