J'ai un tableau comme celui-ci: var array = ["Chinese", "Italian", "Japanese", "French", "American"]
Je veux imprimer tous les éléments séparés sur une nouvelle ligne.
Comment puis-je faire ceci?
Vous pouvez simplement parcourir le tableau comme ceci et imprimer tous les éléments sur une nouvelle ligne:
for element in array {
println(element)
}
MISE À JOUR
Pour Swift 2 et Swift 3:
for element in array {
print(element)
}
Ou si vous le souhaitez sur la même ligne:
for element in array {
print(element, terminator: " ")
}
Mon favori personnel à des fins de débogage est dump () qui affiche également l'index de l'élément. Parfait si vous avez également des tableaux dans un tableau.
var array = ["Chinese", "Italian", "Japanese", "French", "American"]
dump(array)
Cela va générer la sortie suivante
▿ 5 elements
- [0]: Chinese
- [1]: Italian
- [2]: Japanese
- [3]: French
- [4]: American
À partir d'iOS 9, vous pouvez maintenant simplement utiliser dump
var someArray = ["one", "two", "three"]
dump(someArray)
C'est une belle façon d'imprimer des tableaux:
var someArray = ["one", "two", "three"]
// prints out the elements separated by a line break
// same as calling "println" on each item in the array:
println(someArray.joinWithSeparator("\n"))
// one
// two
// three
Sinon, si vous les voulez sur la même ligne, vous pouvez simplement imprimer le tableau:
// prints on the same line:
// ["one", "two", "three"]
println(someArray)
NB si vous n'aimez pas la mise en forme de dump(…)
, vous pouvez voir à partir de sa signature qu'il a des paramètres par défaut, donc permettra une certaine personnalisation.
Cela dit, il y a deux autres options à considérer qui pourraient offrir plus de flexibilité —à vous de décider si oui ou non au détriment de la lisibilité!
Tout d'abord, si vous aimez la notation des arguments de fermeture, par exemple des noms d'arguments abrégés et/ou vous souhaitez d'abord manipuler votre tableau avant de l'imprimer, vous pouvez utiliser forEach
:
array.forEach() { print($0) }
Chinese
Italian
Japanese
French
American
array.sorted(by: {$1 > $0}).forEach() { print($0) }
American
Chinese
French
Italian
Japanese
Deuxièmement, si vous voulez un index mais que dump(…)
est un peu trop verbeux, essayez:
for (n, nationality) in array.enumerated() { print("\(n) \(nationality)") }
0 Chinese
1 Italian
2 Japanese
3 French
4 America
Vous pouvez également imprimer le tableau sous forme de représentation sous forme de chaîne à l'aide de println(arrayName.description)