Swift Optionals and `nil`
This tutorial belongs to the Swift series
Optionals are one key feature of Swift.
When you don’t know if a value will be present or absent, you declare the type as an optional.
The optional wraps another value, with its own type. Or maybe not.
We declare an optional adding a question mark after its type, like this:
var value: Int? = 10
Now value is not an Int value. It’s an optional wrapping an Int value.
To find out if the optional wraps a value, you must unwrap it.
We do so using an exclamation mark:
var value: Int? = 10
print(value!) //10
Swift methods often return an optional. For example the Int
type initializer accepts a string, and returns an Int optional:
This is because it does not know if the string can be converted to a number.
If the optional does not contain a value, it evaluates as nil
, and you cannot unwrap it:
nil
is a special value that cannot be assigned to a variable. Only to an optional:
You typically use if
statements to unwrap values in your code, like this:
var value: Int? = 2
if let age = value {
print(age)
}
→ I wrote 17 books to help you become a better developer:
- C Handbook
- Command Line Handbook
- CSS Handbook
- Express Handbook
- Git Cheat Sheet
- Go Handbook
- HTML Handbook
- JS Handbook
- Laravel Handbook
- Next.js Handbook
- Node.js Handbook
- PHP Handbook
- Python Handbook
- React Handbook
- SQL Handbook
- Svelte Handbook
- Swift Handbook
Also, JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025