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
Notice the error we receive when we try to assign a nil value to the nonoptional ...