Join Scott Gardner for an in-depth discussion in this video Use failable initializers, part of Swift 3 Essential Training: Beyond the Basics.
- [Instructor] I'll keep going in the same exercise file…from the previous video.…Regular initializers are guaranteed…to return a fully initialized instance.…There may be times, however, when an initializer could fail.…For that, we have failable initializers.…To define a failable initializer,…write a question mark after init in the definition.…I'll define a failable initializer…that takes a string value.…In the body, I'll first use a guard to assign…a local intValue using the number formatter,…and return nil if it fails.…
And if it succeeds, I'll assign that value…to self.intValue, to satisfy the requirement…that all non-optional stored properties…are assigned a value during initialization.…I explained in the Basics course that initializers…do not return values, that an initializer's job is to ensure…all non-optional values have been assigned a value.…Well this is an exception.…Failable initializers yield an optional value,…and you explicitly return nil to fail the initialization.…
If you're certain that a failable initializer will not fail,…
- Adding source files, resources, links, and literals
- Adding pages to a playground
- Using overflow operators and bitwise operators
- Using ranges with strings
- Creating complex sequences
- Chaining higher-order functions
- Defining lazy properties
- Using failable initializers
- Mutating methods
- Working with singletons
- Nesting function types
- Creating error types and recursive enumerations
- Extending concrete types
- Referencing selectors and key paths
- Working with protocol-oriented programming
- Defining class-only protocols and optional protocols
- Using option sets, type checking, and casting operators
Skill Level Intermediate
Core Data for iOS and macOS Enterprise Developerswith Jon Bott1h 46m Intermediate
Distributing Your iOS App for Testing with TestFlightwith Ron Buencamino35m 10s Intermediate
iOS App Development: Test-Driven Developmentwith Harrison Ferrone2h 14m Intermediate
3. Strings and Characters
4. Sequences and Collections
5. Control Flow
6. Value and Reference Types
9. Access Control
Understand access control3m 47s
Next steps1m 2s
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.Cancel
Take notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.