it-swarm.com.de

So verwenden Sie die for-Schleife zum Erstellen eines Int-Arrays in Swift 3

Ich weiß, das ist eine sehr grundlegende Frage,

Aber ich probiere viele Methoden aus und zeige immer:

"fataler Fehler: Arrayindex außerhalb des Bereichs"

Ich möchte ein 0-100 int-Array erstellen 

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

und ich versuche es

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

Es erscheinen auch: schwerwiegender Fehler: Array-Index außerhalb des Bereichs

Danke für die Hilfe

Vollständiger Code:

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
    }
}
6
JimmyHo

Ihr Array ist leer und Sie abonnieren einen Wert, um einen Wert zuzuweisen, weshalb Sie zum Absturz des "Array-Index außerhalb des Bereichs" führen. Wenn Sie mit for loop gehen wollen, dann.

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

Stattdessen können Sie einfach ein Array erstellen, ohne for loop zu verwenden.

var integerArray = [Int](0...100)
21
Nirav D

Da Ihr Array leer ist, existiert der "integerArray[i] (wobei i beispielsweise 1 ist)" nicht.

Du musst so etwas schreiben: 

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