2016-12-29 10 views
-5

アレイの隣接する点の間に角度があり、角度の配列に格納していますが、範囲外のインデックスで致命的なエラーが発生します。私はここで間違って何をしていますか? var angles = [Double]() for index in 1..<hull.count { angles[index-1] = Double(hull[index-1].angleToPoint(comparisonPoint: hull[index]))
}
配列のインデックスが範囲外です。swift 3

+1

'angles'は空です...あなたはおそらく添字ではなく、追加するためのもの(' map'も良いオプションになります)。 – Hamish

+0

VAR角度= [ダブル]()0 .. HussnainWaris

+0

}私もこの範囲のインデックスを取得しています – HussnainWaris

答えて

0

が同じループでインデックスと要素の列挙使用することができます:まあ

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

Double(h [i-1])は私にエラーを与えています 実際には、別の配列に基づいて1つの配列の値を変更する必要があるため、これらの配列は同じサイズではありません。 – HussnainWaris

+0

申し訳ありませんが、明らかにh [i-1]のエラーです。それは船体[i-1]でなければなりません。 – bubuxu

関連する問題