web-dev-qa-db-fra.com

Comment afficher tous les éléments d'un tableau en swift?

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?

31
user3725848

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: " ")
}
39
Bas

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
79
Viktor Nilsson

Mise à jour:

À partir d'iOS 9, vous pouvez maintenant simplement utiliser dump

var someArray = ["one", "two", "three"]
dump(someArray)

Original:

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)
20
Firo

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
5
PDK

Vous pouvez également imprimer le tableau sous forme de représentation sous forme de chaîne à l'aide de println(arrayName.description)

1
Sami