The nil coalescing operator unwraps an optional and returns the value inside if there is one. If there isn’t a value – if the optional was nil – then a default value is used instead. Either way, the result won’t be optional: it will either by the value from inside the optional or the default value used as a back up.
Here’s a function that accepts an integer as its only parameter and returns an optional string:
func username(for id: Int) -> String? {
if id == 1 {
return "Taylor Swift"
} else {
return nil
}
}
If we call that with ID 15 we’ll get back nil because the user isn’t recognized, but with nil coalescing we can provide a default value of “Anonymous” like this:
let user = username(for: 15) ?? "Anonymous"
That will check the result that comes back from the username() function: if it’s a string then it will be unwrapped and placed into user, but if it has nil inside then “Anonymous” will be used instead.
Nil coalescing - a free Hacking with Swift tutorial
Was this page useful? Let us know! 1 2 3 4 5
www.hackingwithswift.com
'Programming > Swift' 카테고리의 다른 글
Can an array contain different data types? (0) | 2020.11.27 |
---|---|
When to use guard let rather than if let (0) | 2020.11.27 |
What is Cyclomatic complexity? (0) | 2020.11.25 |
Closures (0) | 2020.11.11 |
Class: NSManagedObject (0) | 2020.11.11 |