web-dev-qa-db-fra.com

Comment utiliser la boucle for pour créer un tableau Int dans Swift 3

Je sais que c'est une question très basique,

Mais j'essaye beaucoup de méthodes et je montre toujours:

"erreur fatale: index de tableau hors de portée"

Je veux créer un tableau 0 ~ 100 int 

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

et j'ai essayé

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

Il y a aussi apparaître: erreur fatale: index de tableau hors de portée

Merci pour l'aide

Code complet:

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

Votre tableau est vide et vous indiquez pour attribuer une valeur, ce qui explique pourquoi vous obtenez un blocage "Index du tableau hors de portée". Si vous voulez aller avec for loop alors.

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

Mais au lieu de cela, vous pouvez créer un tableau simplement comme ceci sans avoir besoin d'utiliser for loop.

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

Comme votre tableau est vide, le "integerArray[i] (où i est 1 par exemple)" n'existe pas.

Vous devez écrire quelque chose comme ceci: 

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