Repeat. 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.
First example. 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.
Note The loop ends when our variable reaches the value 6. We print the statement "I have N cats" on each iteration.
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.
Repeat, random numbers. 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.
Note Arc4random returns a random number. In the following if-statement, we break if the number is even (not odd).
Tip Consider using a "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.
Repeat, example 3. 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
A summary. 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.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.