【问题标题】:Array index out of range swift 3数组索引超出范围swift 3
【发布时间】:2017-05-14 07:17:48
【问题描述】:

我正在获取船体数组中相邻点之间的角度并将其存储在角度数组中。但是由于索引超出范围而出现致命错误。我在这里做错了什么?var angles = [Double]() for index in 1..<hull.count { angles[index-1] = Double(hull[index-1].angleToPoint(comparisonPoint: hull[index]))
}

【问题讨论】:

  • 好吧,angles 是空的……你可能是想追加而不是下标(map 也是一个不错的选择)。
  • var angle = [Double]() for index in 0..
  • 我的索引也超出范围请指导我

标签: arrays swift3 indexoutofboundsexception fatal-error


【解决方案1】:

可以在同一循环中对索引和元素使用枚举:

angles = []
for (i, h) in hull.enumerated() {
    if i == 0 { continue }
    let angle = Double(hull[i-1].angleToPoint(comparisonPoint: h)) ?? 0
    angles.append(angle)
}

【讨论】:

  • Double(h[i-1]) 给我错误实际上,我的任务很复杂,因为我必须根据另一个数组更改一个数组中的值。而且这些数组的大小不一样。
  • 对不起,这显然是 h[i-1] 的错误,应该是 hull[i-1],我更新了答案使其正常工作。
猜你喜欢
  • 2016-11-10
  • 2017-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-07
  • 1970-01-01
  • 2018-05-06
相关资源
最近更新 更多