【问题标题】:Fatal error: index out of range (swift xcode)致命错误:索引超出范围(swift xcode)
【发布时间】:2016-11-28 20:42:52
【问题描述】:

我不断收到索引超出范围错误。我正在尝试遍历数组并返回值。

override func countNeighbors(grid: [[Character?]], column x: Int, row y: Int) -> Int {
    var sum = 0
    for k in 1...2{
        for l in 1...2 {
            sum += getAlive(grid, column: x - 1 + l, row: y - 1 + l)

        }
    }
    return sum - getAlive(grid, column: x, row: y)
}

【问题讨论】:

  • 什么是作为网格变量传递的?
  • 您应该为您的帖子添加一些精确度,例如您传递函数的参数。发生异常的行。或者更多代码。

标签: swift xcode


【解决方案1】:

您很可能弄乱了列/行。您应该检查您是否没有交换 2。似乎异常来自您的 getAlive 函数,所以如果您可以发布它,我们可能会为您提供更多帮助。

【讨论】:

    【解决方案2】:

    '索引超出范围意味着数组下标超出了数组的实际大小。例如,如果您的数组有 2 个元素,它们将表示为: 'arrayVariable[0]' 和 'arrayVariable[1]'

    一个常见的数组错误是忘记数组是从 0 开始的,并尝试使用以 1 开头的下标访问值。在此示例中,这将导致尝试访问“arrayVariable[2]”,这将超出数组末尾,导致“索引超出范围”消息。

    检查您的值以确保您不会超出数组的末尾。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多