Swift

Optional Binding in Swift 5.7: A Shorter Version of if let


Other than all the new features of SwiftUI in iOS 16, Apple also announced Swift 5.7 which will come along with the release of Xcode 14. Let’s check out one minor but welcome change in Swift 5.7.

Swift has the concept of optionals that many programming languages don’t have. An optional type means that it can either have a value or there isn’t a value. Swift forces you to check if an optional has a value before using it.

swift-57-optional-binding

Optional Binding is a common way to find out whether an optional has a value or not. Here is a sample code snippet using optional binding:

If you’re new to Swift, the if let keyword means that if the optional phone contains a value, the value is saved to myPhone. Inside the if block, myPhone is a constant that must contain a value.

To simplify the constant or variable naming, we usually write the code like this:

We make the constant name the same as the optional.

Optional Binding in Swift 5.7

In Swift 5.7, Apple further allows us to simplify the code like below:

This is a minor change in Swift 5.7. However, as optional binding is commonly used in writing Swift code, this should save you a few keystrokes and make the code more readable.

Note: If you are new to Swift, you can check out our free Swift guide to start learning the Swift programming language.

Announcement
Our Swift Programming Book for Beginners Now Supports iOS 9, Xcode 7 and Swift 2
Tutorial
Mastering Swift: Enumerations, Closures, Generics, Protocols and High Order Functions
iOS
Using Swift Protocols to Manage App Configuration
Shares