Swift version: 5.6
Consider an array of items containing some optionals, like this one:
let numbers: [Int?] = [1, nil, 3, nil, 5]
If you want to loop over all the items and print them out, you’d write something like this:
for number in numbers {
print(number)
}
However, that prints out all items in their current state: optionally wrapped integers for some, nil for others.
With a small change to that loop, you can have Swift unwrap all the optionals then only enter the loop for any that contain a value – any nil
items are ignored. This is done using for case let
syntax, like this:
for case let number? in numbers {
print(number)
}
That will print the numbers 1, 3, and 5.
SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure your entire paywall view without any code changes or app updates.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS – learn more in my book Pro Swift
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.