-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Learning Swift Second Edition
By :

A common scenario in Swift is to have an optional that you must calculate something from. If the optional has a value, you will want to store the result of the calculation on it, but if it is nil, the result should just be set to nil:
var invitee: String? = "Sarah" var uppercaseInvitee: String? if let actualInvitee = invitee { uppercaseInvitee = actualInvitee.uppercaseString }
This is pretty verbose. To shorten this up in an unsafe way, we could use forced unwrapping:
uppercaseInvitee = invitee!.uppercaseString
However, optional chaining will allow us to do this safely. Essentially, it allows optional operations on an optional. When the operation is called, if the optional is nil, it immediately returns nil; otherwise, it returns the result of performing the operation on the value within the optional:
uppercaseInvitee = invitee?.uppercaseString
So in this call, invitee
is an optional. Instead of unwrapping it, we use optional chaining by placing a question mark...
Change the font size
Change margin width
Change background colour