我有一个这样的数组:var array = ["Chinese", "Italian", "Japanese", "French", "American"]
我想在新行上打印出所有单独的元素。
我该怎么做?
答案 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)