Swift Conditional Statements, Loops, and Switch Statements

A Roadmap to Conditional Logic, Iteration, and Custom Patterns

Vikram Kumar
5 min readNov 3, 2023

Introduction

Control flow is a fundamental concept in Swift, and it’s the backbone of writing code that performs different actions based on various conditions. In this article, we’ll delve into how Swift handles control flow, including conditional statements, loops, and switch statements.

Photo by NordWood Themes on Unsplash

Conditional Statements

Conditional statements allow you to make decisions in your code by evaluating whether a certain condition is true or false. In Swift, you have two primary conditional statements: `if` and `switch`.

The if Statement

The `if` statement is used to execute a block of code only if a given condition is true. The basic structure of an `if` statement is as follows:

if condition {
// Code to execute if the condition is true
}

For example:

let number = 10
if number > 5 {
print("The number is greater than 5.")
}

The else Clause

You can use the else clause with an `if` statement to execute code when the condition is false:

if condition {
// Code to execute if the condition is true
} else {
// Code to execute if the condition is false
}

For example:

let number = 3
if number > 5 {
print("The number is greater than 5.")
} else {
print("The number is not greater than 5.")
}

The else if Clause

You can use multiple else if clauses to check multiple conditions in sequence:

if condition1 {
// Code to execute if condition1 is true
} else if condition2 {
// Code to execute if condition2 is true
} else {
// Code to execute if neither condition1 nor condition2 is true
}

For example:

let number = 7
if number < 5 {
print("The number is less than 5.")
} else if number == 5 {
print("The number is equal to 5.")
} else {
print("The number is greater than 5.")
}

Loops

Loops are used to execute a block of code repeatedly as long as a specified condition is true. In Swift, you have two primary types of loops: `for-in` and `while` loops.

The for-in Loop

The for-in loop is ideal for iterating over a sequence, such as an array or a range of numbers. It iterates through each element in the sequence and executes a block of code for each element:

for element in sequence {
// Code to execute for each element
}

For example:

let numbers = [1, 2, 3, 4, 5]
for number in numbers {
print(number)
}

In Swift, you can achieve the equivalent of a traditional “for” loop similar to the one you mentioned in other languages using a “for-in” loop with a range. Here’s how you can use a “for-in” loop to achieve the same effect:

for i in 0..<10 {
print(i)
// Your code here, where 'i' ranges
// from 0 to 9 (similar to
// 'let i = 0; i < 10; i++' in other languages)
}

In this example, the loop will execute 10 times, with ‘i’ taking on values from 0 to 9. This is the Swift equivalent of a traditional “for” loop like the one you described.

The while Loop

The while loop continues to execute a block of code as long as a specified condition is true:

while condition {
// Code to execute as long as the condition is true
}

For example:

var countdown = 5
while countdown > 0 {
print(countdown)
countdown -= 1
}

The repeat-while Loop

The repeat-while loop is similar to the `while` loop but ensures that the code block is executed at least once before checking the condition. It checks the condition after the code block is executed:

repeat {
// Code to execute
} while condition

For example:

var countdown = 5
repeat {
print(countdown)
countdown -= 1
} while countdown > 0

Switch Statements

A switch statement allows you to compare a value against multiple possible matching patterns. Swift’s switch statement is powerful and flexible.

Basic Switch Statement

The basic structure of a switch statement looks like this:

switch value {
case pattern1:
// Code to execute if value matches pattern1
case pattern2:
// Code to execute if value matches pattern2
default:
// Code to execute if none of the patterns match
}

For example:

let day = "Monday"
switch day {
case "Saturday", "Sunday":
print("It's the weekend!")
default:
print("It's a weekday.")
}

Interval Matching

You can use interval matching in a switch statement to check if a value falls within a specified range:

switch value {
case 1...5:
// Code to execute if value is between 1 and 5 (inclusive)
case 6..<10:
// Code to execute if value is between 6 and 9
default:
// Code to execute if value doesn't match any pattern
}

For example:

let score = 88
switch score {
case 0...49:
print("You failed.")
case 50...69:
print("You passed.")
default:
print("You did great!")
}

Compound Cases

You can use compound cases to execute the same code for multiple patterns:

switch value {
case pattern1, pattern2:
// Code to execute if value matches either pattern1 or pattern2
default:
// Code to execute if none of the patterns match
}

For example:

let grade = "A"
switch grade {
case "A", "A+":
print("Excellent!")
default:
print("Good job!")
}

Conclusion

Swift’s control flow mechanisms, including conditional statements, loops, and switch statements, give you the tools you need to create dynamic and responsive code. Whether you need to make decisions, iterate over sequences, or compare values against patterns, Swift provides clear and efficient ways to accomplish these tasks. Control flow is a fundamental building block in programming, and mastering it is a key step toward becoming a proficient Swift developer.

Happy Coding!!!

--

--

Vikram Kumar
Vikram Kumar

Written by Vikram Kumar

I am Vikram, a Senior iOS Developer at Matellio Inc. focused on writing clean and efficient code. Complex problem-solver with an analytical and driven mindset.

No responses yet