【问题标题】:Out of range error using a for loop over Swift array's indexes在 Swift 数组的索引上使用 for 循环时出现超出范围的错误
【发布时间】:2016-08-25 22:28:11
【问题描述】:

我在使用 for 循环遍历数组时遇到“超出范围错误”,我不知道为什么。

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

【问题讨论】:

  • oddNumbers 的索引需要为 0 到 oddNumbers.count - 1(含)。写for number in (0...oddNumbers.count+1)number可以比这更大。

标签: arrays swift loops indexing


【解决方案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])
}

【讨论】:

    猜你喜欢
    • 2021-09-02
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多