これは非常に基本的な質問であることを知っています。
しかし、私はたくさんの方法を試し、常に示しています:
「致命的エラー:配列のインデックスが範囲外です」
0〜100の整数配列を作成したい
e.q. var integerArray = [0,1,2,3、.....、100]
そして私は
var integerArray = [Int]()
for i in 0 ... 100{
integerArray[i] = i
}
も表示されます:致命的なエラー:配列のインデックスが範囲外です
手伝ってくれてありがとう
完全なコード:
class AlertViewController: UIViewController,UIPickerViewDelegate, UIPickerViewDataSource {
@IBOutlet weak var integerPickerView: UIPickerView!
@IBOutlet weak var decimalPickerView: UIPickerView!
var integerArray = [Int]()
var decimalArray = [Int]()
override func viewDidLoad() {
super.viewDidLoad()
giveArrayNumber()
integerPickerView.delegate = self
decimalPickerView.delegate = self
integerPickerView.dataSource = self
decimalPickerView.dataSource = self
}
func giveArrayNumber(){
for i in 0 ... 100{
integerArray[i] = i
}
}
配列が空で、値を割り当てるために添え字を付けているため、「配列のインデックスが範囲外です」というクラッシュが発生しています。 for loop
を使いたい場合は、.
var integerArray = [Int]()
for i in 0...100 {
integerArray.append(i)
}
しかし、その代わりに、for loop
を使用する必要なく、このように配列を作成できます。
var integerArray = [Int](0...100)
配列が空なので、「integerArray[i]
(ここでi
は1など) "は存在しません。
このようなものを書く必要があります:
func giveArrayNumber() {
for i in 0 ... 100{
integerArray.append(i)
}
}