You’ve made it to the end of the tenth part of this series, so let’s summarize:
- Optionals let us represent the absence of a value in a clear and unambiguous way.
- Swift won’t let us use optionals without unwrapping them, either using
if let or using
- You can force unwrap optionals with an exclamation mark, but if you try to force unwrap
nil your code will crash.
- Implicitly unwrapped optionals don’t have the safety checks of regular optionals.
- You can use nil coalescing to unwrap an optional and provide a default value if there was nothing inside.
- Optional chaining lets us write code to manipulate an optional, but if the optional turns out to be empty the code is ignored.
- You can use
try? to convert a throwing function into an optional return value, or
try! to crash if an error is thrown.
- If you need your initializer to fail when it’s given bad input, use
init?() to make a failable initializer.
- You can use typecasting to convert one type of object to another.