Loading...

How to not break automatically in switch statements in Swift?

question swift
Ram Patra Published on October 22, 2023

In Swift, the switch statement doesn’t automatically fall through to the next case. Each case block is designed to execute only the code within that case, and it doesn’t continue to the next case unless you use the fallthrough keyword.

If you don’t want Swift to break automatically after each case and you want to intentionally allow fall-through behavior, you can use the fallthrough statement to explicitly specify this behavior. Here’s an example:

let number = 1

switch number {
case 1:
    print("It's one")
    fallthrough
case 2:
    print("It's one or two")
default:
    print("It's something else")
}

In this code, when number is 1, it will print both “It’s one” and “It’s one or two” because of the fallthrough statement.

If you don’t include fallthrough, Swift will execute only the code in the matching case and then exit the switch statement. So, by default, Swift breaks after each case, and you need to explicitly use fallthrough if you want to allow fall-through behavior. This is different to, let’s say, Java where you have to explicitly use break if you want to only execute code in the matching case.

Presentify

Take your presentation to the next level.

FaceScreen

Put your face and name on your screen.

ToDoBar

Your to-dos on your menu bar.

Ram Patra Published on October 22, 2023
Image placeholder

Keep reading

If this article was helpful, others might be too

question swiftui swift September 8, 2024 How to make Squircle shape in SwiftUI and how to easily convert it to a circle or a rectangle?

To create a squircle shape (a combination of a square and a circle, also known as a superellipse) in SwiftUI, you can define a custom shape by conforming to the Shape protocol and implementing the superellipse formula. The formula for a superellipse is:

question macOS swift November 10, 2021 How to detect fn key press in Swift?

You can override the flagsChanged() method of NSViewController and have your code like below to detect fn key press and release in macOS:

question swiftui swift September 8, 2024 How to loop through an enum in SwiftUI?

In SwiftUI, looping through an enum is not directly possible without some extra work because enums in Swift don’t inherently support iteration. However, you can achieve this by making the enum CaseIterable, which automatically provides a collection of all cases in the enum.