Optional variables
All of the variables that we have looked at so far are considered to be nonoptional variables. This means that the variables are required to have a non-nil value; however, there are times when we want or need our variables to contain nil values. This can occur if we return a nil from a function whose operation failed or if a value is not found.
In Swift, an optional variable is a variable that we are able to assign nil (no value) to. Optional variables and constants are defined using ?
(question mark). Let's look at the following Playground; it shows us how to define Optional
and shows what happens if we assign a nil value to a Non-Optional
variable:
Notice the error we receive when we try to assign a nil value to the nonoptional variable. This error message tells us that the stringTwo
variable does not conform to the NilLiteralConvertible
protocol. What this tells us is that we are assigning a nil value to a variable or constant that is not defined as an optional...