web-dev-qa-db-fra.com

Boucle For basée sur la longueur du tableau dans Swift

J'ai essayé de prendre la longueur d'un tableau et d'utiliser cette longueur pour définir le nombre de fois que ma boucle doit s'exécuter. Ceci est mon code: 

  if notes.count != names.count {
        notes.removeAllObjects()
        var nameArrayLength = names.count
        for index in nameArrayLength {
            notes.insertObject("", atIndex: (index-1))
        }
    }

Au moment où je viens de recevoir l'erreur: 

Int does not have a member named 'Generator'

Cela semble être un problème assez simple, mais je n'ai pas encore trouvé de solution. Des idées?

13
user3746428

Vous devez spécifier la plage. Si vous souhaitez inclure nameArrayLength:

for index in 1...nameArrayLength {
}

Si vous voulez arrêter 1 avant nameArrayLength:

for index in 1..<nameArrayLength {
}
24
vacawama
for i in 0..< names.count {
    //YOUR LOGIC....
}
4
Ketan Patel

Dans Swift 3 et Swift 4, vous pouvez effectuer les tâches suivantes:

for (index, name) in names.enumerated()
{
     ...
}
2
meaning-matters

Vous pouvez faire une boucle sur la indices du tableau

for index in names.indices {
    ...
}

Si vous voulez juste remplir un tableau avec des chaînes vides, vous pouvez le faire

notes = Array(repeating: "", count: names.count)
0
Paul.s