Бывают ситуации, когда вам нужно будет многократно выполнять какие-то действия в вашем коде. Первоначальный инстинкт - скопировать и вставить код несколько раз. Хотя в большинстве случаев это работает, это не лучшая практика. Особенно, если нужно повторить действие по-разному. Вот тут-то и появляется петля, которая позаботится о ситуации.

Цикл в программировании повторяет блок кода до тех пор, пока выполняется условие. Для Swift в основном используются цикл for-in, цикл while и цикл повторения-while.

Эта статья является частью моей серии Учебник по программированию на Swift.

For-in loop

Цикл For-in повторяет блок кода на основе указанного вами диапазона значений.

E.g.

var fellowOfRing = [ 
  "Frodo",
  "Sam", 
  "Merry", 
  "Pippin", 
  "Aragorn", 
  "Boromir", 
  "Legolas", 
  "Gimli", 
  "Gandalf"
]
for member in fellowOfRing {
  print("\(member) is a member of Fellowship of the Ring") 
}

Результатом будет:

Frodo is a member of Fellowship of the Ring 
Sam is a member of Fellowship of the Ring 
Merry is a member of Fellowship of the Ring 
Pippin is a member of Fellowship of the Ring 
Aragorn is a member of Fellowship of the Ring
Boromir is a member of Fellowship of the Ring 
Legolas is a member of Fellowship of the Ring 
Gimli is a member of Fellowship of the Ring 
Gandalf is a member of Fellowship of the Ring

В приведенном выше примере показано, что цикл for-in исключает повторение вместо того, чтобы печатать каждое имя несколько раз.

Цикл For-in также может использоваться для числовых диапазонов.

E.g.

for index in 1...5 {
  print("\(index) multiplied by 10 is equal to \(index * 10)")
}

Результатом будет:

1 multiplied by 10 is equal to 10
2 multiplied by 10 is equal to 20
3 multiplied by 10 is equal to 30
4 multiplied by 10 is equal to 40
5 multiplied by 10 is equal to 50

Пока цикл

Пока цикл повторяет блок кода, пока указанное условие не станет ложным.

E.g.

var countOneToTen = 0
while countOneToTen <= 10 {
  print("Number:", countOneToTen)
  countOneToTen += 1 
}

Результатом будет:

Number: 0 
Number: 1 
Number: 2 
Number: 3 
Number: 4 
Number: 5 
Number: 6 
Number: 7 
Number: 8 
Number: 9 
Number: 10

«+ =» - это оператор, который означает увеличение на число, указанное вами справа.

Цикл с повторением во время

Цикл Repeat-while - это вариант цикла while, в котором сначала выполняются действия до рассмотрения условия цикла. Блок кода повторяется до тех пор, пока указанное условие не станет ложным.

E.g.

var countTenToOne = 10
  
repeat {
  print("Number:", countTenToOne)
  countTenToOne -= 1
} while countTenToOne >= 0

Результатом будет:

Number: 10
Number: 9
Number: 8
Number: 7
Number: 6
Number: 5
Number: 4
Number: 3
Number: 2
Number: 1
Number: 0

«- =» - это оператор, который означает уменьшение на число, указанное вами справа.

В следующем уроке мы поговорим о функциях Swift.

Да пребудет с тобой код,

-Arc