Подтвердить что ты не робот

Как показать все элементы массива в swift?

У меня есть такой массив: var array = ["Chinese","Italian", "Japanase", "French" , "American"]

И я хочу распечатать все отдельные элементы на новой строке.

Как я могу это сделать?

4b9b3361

Ответ 1

Вы можете просто выполнить итерацию через массив следующим образом и распечатать все элементы в новой строке:

for element in array {
  println(element)
}

UPDATE

Для Swift 2 и Swift 3:

for element in array {
  print(element)
}

Или, если вы хотите, чтобы он находился на одной строке:

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

Ответ 2

Мой личный фаворит для целей отладки - это dump(), который также печатает индекс, который имеет элемент. Отлично, если у вас есть массивы в массиве тоже.

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

Это приведет к созданию следующего вывода

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

Ответ 3

Обновление:

Начиная с 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)

Ответ 4

NB, если вам не нравится форматирование dump(…), то вы можете видеть из его подписи, что у него есть некоторые параметры по умолчанию, таким образом, позволит некоторые настройки.

Сказав это, есть еще две альтернативы для рассмотрения, которые могут обеспечить большую гибкость, - чтобы вы могли решить, следует ли за счет удобочитаемости!

Прежде всего, если вам нравится нотация замыкания, например, сокращенные имена аргументов и/или вы хотите сначала манипулировать массивом перед его печатью, вы можете использовать forEach:

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

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

Во-вторых, если вы хотите, чтобы индекс, но dump(…) был слишком многословным, попробуйте:

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

Ответ 5

Вы также можете распечатать массив как строковое представление, используя println(arrayName.description)