如何在swift中显示数组的所有元素?

时间:2014-06-10 11:43:40

标签: ios xcode swift

我有一个这样的数组:var array = ["Chinese", "Italian", "Japanese", "French", "American"]

我想在新行上打印出所有单独的元素。

我该怎么做?

5 个答案:

答案 0 :(得分:77)

我个人最喜欢的调试用途是dump(),它还会打印元素所具有的索引。如果阵列中也有数组也是完美的。

var array = ["Chinese", "Italian", "Japanese", "French", "American"]
dump(array)

这将生成以下输出

▿ 5 elements
  - [0]: Chinese
  - [1]: Italian
  - [2]: Japanese
  - [3]: French
  - [4]: American

答案 1 :(得分:36)

您可以像这样 遍历数组 并打印出新行中的所有元素:

for element in array {
  println(element)
}

<强>更新

对于Swift 2和Swift 3:

for element in array {
  print(element)
}

或者如果你想要它在同一行:

for element in array {
  print(element, terminator: " ")
}

答案 2 :(得分:20)

更新

从iOS 9开始,您现在可以使用dump

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

原始

这是一种打印数组的好方法:

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

否则,如果您想要它们在同一条线上,您只需打印数组:

// prints on the same line:
// ["one", "two", "three"]
println(someArray)

答案 3 :(得分:5)

如果您不喜欢dump(…)的格式,那么您可以从其签名中看到它有一些默认参数,因此可以进行一些自定义。

话虽如此,还有两种选择可以提供更多的灵活性 - 让您决定是否以牺牲可读性为代价!

首先,如果你喜欢闭包参数表示法,例如简写参数名称,和/或您希望在打印之前先操作数组,可以使用forEach

array.forEach() { print($0) }
Chinese
Italian
Japanese
French
American

array.sorted(by: {$1 > $0}).forEach() { print($0) }
American
Chinese
French
Italian
Japanese

其次,如果你想要一个索引,但dump(…)有点过于冗长,请尝试:

for (n, nationality) in array.enumerated() { print("\(n) \(nationality)") }
0 Chinese
1 Italian
2 Japanese
3 French
4 America

答案 4 :(得分:1)

您还可以使用println(arrayName.description)

将数组打印为字符串表示形式