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.

KeyScreen

Show keypresses on your screen.

ToDoBar

Your to-dos on your menu bar.

SimpleFill

Fill forms using your right-click menu.

IconSim

Preview your Mac app icons.

Ram Patra Published on October 22, 2023
Image placeholder

Keep reading

If this article was helpful, others might be too

question macOS swift August 14, 2020 How to quit or close an app in macOS using Swift?

You can quit or exit an app with:NSApp.terminate(self)

September 5, 2025 Automatically generate appcast.xml and DMG files for your Mac app updates

In this blog post we will see how we can fully automate macOS app updates with Sparkle 2 + GitHub Actions + GitHub Pages. We will build, notarize, sign, auto-generate appcast.xml and DMG files, etc. using GitHub Actions whenever you create a new release (this can be changed to on commit too).

question swiftui swift October 30, 2023 How to convert Color type to hex and vice-versa while retaining alpha information?

The below should work both on macOS and iOS with one minor change. That is, use UIColor instead of NSColor if you’re planning to use it for iOS.

Like my work?

Please, feel free to reach out. I would be more than happy to chat.