Searching for: Type Casting in Swift
Structures are classes which are value-typed, similar to previous variables and lets. Structures, like classes, contain methods and properties.
In Swift, variables must have a value. Optionals are used to assign a value of nil to a variable, if no value is provided. Optional variables cannot have their values accessed directly. They need to be 'unwrapped' in order for the value to be used.