Some things in Swift have no known endpoint—we stop them (break
the loop) on demand. For a simple loop, we can invoke the "repeat" keyword.
The repeat loop requires a "repeat" and a "while" keyword. To have an infinitely repeating loop, we can use a "while true" part at the end.
Here we have a repeat-while loop. We have a local variable named "i" and we increment this in the body of the repeat-while loop.
var i = 0 // Use repeat loop. // ... No initial condition is checked. repeat { print("I have \(i) cats.") i += 1 } while i < 5I have 0 cats. I have 1 cats. I have 2 cats. I have 3 cats. I have 4 cats.
Here is a simple program that repeats a function call. It terminates the repeat-while loop only when the function call returns a specific number.
if
-statement, we break
if the number is even (not odd).while-true
" loop when an infinite (or indeterminate) loop is needed. A break
can stop the loop.import Foundation // Initialize a seed number. sranddev() // Get random number in repeat loop. // ... Print number. // If number is even then break the loop. repeat { let number = arc4random() print(number) // Check for even number. if number % 2 == 0 { print("Even number, stopping loop.") break } } while true546090829 4220801392 Even number, stopping loop.
The repeat-while loop does not check its condition before the loop body is entered. So a variable (like "x" in this program) can have any value.
var x = 999 repeat { // This block is entered on any value of x. // ... The value is not checked before the block is executed. print(x) } while x < 10999
The repeat-while loop is the same as a "do-while
" loop in C-like languages. The word "repeat" may be easier to read for programmers. Its while part is required.