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

bfnvny8b  于 2023-04-19  发布在  Swift
关注(0)|答案(3)|浏览(107)

我知道这是个很基本的问题,
但我尝试了很多方法,并始终显示:
“致命错误:数组索引超出范围”
我想创建一个0~100 int数组
例如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
    }
}
mnemlml8

mnemlml81#

你的数组是空的,你正在下标赋值,这就是为什么你得到“数组索引超出范围”崩溃。如果你想去与for loop然后。

var integerArray = [Int]()
for i in 0...100 {
    integerArray.append(i)
}

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

var integerArray = [Int](0...100)
nwsw7zdq

nwsw7zdq2#

解决方案1:

var integerArray = Array(0...100)

解决方案二:

var integerArray = [Int](0...100)

溶液3(最差):

var integerArray = (0...100).map{ $0 }
brvekthn

brvekthn3#

因为你的数组是空的,所以“integerArray[i](例如i是1)”不存在。
你必须写这样的东西:

func giveArrayNumber() {
    for i in 0 ... 100{
       integerArray.append(i)
    }
 }

相关问题