如何使用for循环在Swift 3中创建Int数组

Jim*_*yHo 6 arrays for-loop ios swift swift3

我知道这是一个非常基本的问题,

但我尝试了很多方法,并总是显示:

"致命错误:数组索引超出范围"

我想创建一个0~100的int数组

eq var integerArray = [0,1,2,3,.....,100]

我试着

var integerArray = [Int]()
for i in 0 ... 100{
integerArray[i] = i
}
Run Code Online (Sandbox Code Playgroud)

还会出现:致命错误:数组索引超出范围

感谢帮助

完整代码:

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
    }
}
Run Code Online (Sandbox Code Playgroud)

Nir*_*v D 28

你的数组是空的,你正在订阅赋值,这就是你得到"数组索引超出范围"崩溃的原因.如果你想和for loop那个一起去.

var integerArray = [Int]()
for i in 0...100 {
    integerArray.append(i)
}
Run Code Online (Sandbox Code Playgroud)

但是,你可以像这样创建数组,而不需要使用for loop.

var integerArray = [Int](0...100)
Run Code Online (Sandbox Code Playgroud)