I call it(null referenes) a billion dollar mistake - Tony Hoare
Today I learnt about:
- Handling missing data
- Unwrapping optionals with
if let - Unwraping optionals with
guard let - Force unwrapping
- Implicitly unwrapped optionals
- Nil coalescing
- Optional Chaining
- Optional
try - Failable initialisers
- Type casting
The summary of the entire day was:
- 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 letor usingguard let. - You can force unwrap optionals with an exclamation mark(
!), but if you try to force unwrapnilyour 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, ortry!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.
That's all for the Day 12 of 100DaysOfSwiftUI!