Introduction
  • Course Overview
Chatper 1: The Swift Fundamentals
  • Introduction
  • Lesson 1: Optionals
  • Lesson 2: Optional Chainings
  • Lesson 3: Guard and Defer Statement
  • Lesson 4: Intro to Error Handling
  • Lesson 5: Type Casting
  • Lesson 6: Intro to Generics
  • Lesson 7: Subscripts
  • Lesson 8: Class vs Struct
  • Lesson 9: Set and Tuple
  • Lesson 10: Extension
  • Lesson 11: Intro to Operators
  • Lesson 12: Typealias
  • Conclusion
Chapter 2: Object Oriented Swift
  • Introduction
  • Lesson 1: Convenience Init
  • Lesson 2: Computed Property
  • Lesson 3: Property Observers
  • Lesson 4: Failable Init
  • Lesson 5: Override Method, Init, Property
  • Lesson 6: Two Phase Init
  • Lesson 7: Type Property and Method
  • Lesson 8: Singleton Pattern
  • Conclusion
Chapter 3: Intro to Functional Swift
  • Introduction
  • Lesson 1: Intro to Closures Part 1
  • Lesson 2: Intro to Closures Part 2
  • Lesson 3: Lazy Init with Closures
  • Lesson 4: Capture Lists
  • Lesson 5: Trailing Closures
  • Lesson 6: Completion Handlers
  • Conclusion
Chapter 4: Protocol Oriented Swift
  • Introduction
  • Lesson 1: Intro to Protocols
  • Lesson 2: Protocol Extension
  • Lesson 3: Protocol as Type
  • Lesson 4: The Delegate Pattern
  • Lesson 5: The Data Source Pattern
  • Conclusion
Chapter 5: Memory Management
  • Introduction
  • Lesson 1: Automatic Reference Counting
  • Lesson 2: Delegate Retain Cycle
  • Lesson 3: Closure Retain Cycle
  • Lesson 4: Escaping and Autoclosures
  • Conclusion
Chapter 6: Functional Programming
  • Introduction
  • Lesson 1: Intro to Functional Paradigm
  • Lesson 2: Filter
  • Lesson 3: Map
  • Lesson 4: Reduce
  • Conclusion
Chapter 7: Generic Protocols
  • Introduction
  • Lesson 1: Intro to Associated Type
  • Lesson 2: Protocol Extension and Type Constraints
  • Lesson 3: Override Protocol Associated Type
  • Lesson 4: Protocol Pitfalls
  • Lesson 5: Type Eraser
  • Conclusion
Chapter 8: Advanced Enums
  • Introduction
  • Lesson 1: The Enum Basics
  • Lesson 2: Static and Mutating Methods with self
  • Lesson 3: Nested Enum
  • Lesson 4: Protocol Oriented Enum
  • Lesson 5: Recursive Enum
  • Lesson 6: Generic Enum
  • Lesson 7: Error Handling with Result Type
  • Conclusion
Chapter 9: What's New in Swift 4
  • Introduction
  • Lesson 1: Access Control
  • Lesson 2: Keypaths
  • Lesson 3: Generic Subscripts
  • Lesson 4: JSON Parsing with Codable
  • Lesson 5: Advanced Codable
  • Lesson 6: Advanced Dictionary
  • Conclusion
Chapter 10: Advanced Swift
  • Introduction
  • Lesson 1: Nested Generics and Recursive Enum
  • Lesson 2: Advanced Operators
  • Lesson 3: Advanced Error Handling
  • Lesson 4: Equatable and Comparable Protocol
  • Lesson 5: Sequence and Iterator Protocol
  • Lesson 6: Intro to Test Driven Swift
  • Conclusion