Table of Content

Chapter 1: The Swift Fundamentals

Lesson 1: OptionalsLesson 2: Optional ChainingsLesson 3: Guard and Defer StatementLesson 4: Intro to Error HandlingLesson 5: Type CastingLesson 6: Intro to GenericsLesson 7: SubscriptsLesson 8: Class vs StructLesson 9: Set and TupleLesson 10: ExtensionLesson 11: Intro to OperatorsLesson 12: Typealias

Chapter 2: Object Oriented Swift

Lesson 1: Convenience InitLesson 2: Computed PropertyLesson 3: Property ObserversLesson 4: Failable InitLesson 5: Override Method, Init, PropertyLesson 6: Two Phase InitLesson 7: Type Property and MethodLesson 8: Singleton Pattern

Chapter 3: Intro to Functional Swift

Lesson 1: Intro to Closures Part 1Lesson 2: Intro to Closures Part 2Lesson 3: Lazy Init with ClosuresLesson 4: Capture ListsLesson 5: Trailing ClosuresLesson 6: Completion Handlers

Chapter 4: Protocol Oriented Swift

Lesson 1: Intro to ProtocolsLesson 2: Protocol ExtensionLesson 3: Protocol as TypeLesson 4: Delegate

Chapter 5: Memory Management

Lesson 1: Automatic Reference CountingLesson 2: Delegate Retain CycleLesson 3: Closure Retain CycleLesson 4: Escape and Autoclosures

Chapter 6: Generic Protocol

Lesson 1: Intro to Associated TypeLesson 2: Protocol Extension and Type ConstraintsLesson 3: Override Protocol Associated TypeLesson 4: Protocol PitfallsLesson 5: Type Eraser

Chapter 7: Advanced Enum

Lesson 1: The Enum BasicsLesson 2: Static and Mutating Methods with selfLesson 3: Nested EnumLesson 4: Protocol Oriented EnumLesson 5: Recursive EnumLesson 6: Generic EnumLesson 7: Error Handling with Result Type

Chapter 8: Advanced Swift

Lesson 1: Nested Generics and Recursive EnumLesson 2: Advanced OperatorsLesson 3: Advanced Error HandlingLesson 4: Equatable and Comparable ProtocolLesson 5: Sequence and Iterator ProtocolLesson 6: Intro to Test Driven Swift

Note: Learn Swift with Bob is available on Udemy. If you wish to receive a discount link, you may sign up here.