教えてください!
struct Data { var Count: Double = 0 var PointA: CGPoint = .zero var PointB: CGPoint = .zero var PointC: CGPoint = .zero }
という構造体があって、これを array という配列に入れています。
array=[Data]()
この array から構造体の最初の要素(= Count)を読み出し、10で割って小数点を切り捨て、商が同じものを二次配列にまとめたいのです。
これを実現しようと下記のようなコードを書いたのですが、
var bridgeArray = [[Data]]() for i in 0...array.count - 1 { data = array[i] count = data.Count number = Int(floor(count / 10)) bridgeArray[number].append(Data[i]) }
最後の行で fatal error out of index が出て止まります。
データが入り始めるのは、count = 4 あたりからなので、bridgeArray[4]にいきなり構造体を入れようとしているのがダメなのかとは思うのですが、これを回避するにはどうすればいいのでしょうか?
bridgeArray.count がいくつになるかはあらかじめ分かっているので、以下のような処理をしておけばいいのかと思ったのですが、それもエラーで弾かれてしまいました。
for i in num - 1 { //numは bridgeArray.count と同じ値 bridgeArray[i] = [Data] }
こういう処理を行たい場合に、何か上手な方法がないか、教えて頂けると幸いです!
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/17 17:58