본문 바로가기

Programming/Swift

Nil coalescing

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