Summary Prologue Introduction Bob Lee Course Overview Resources Table of Content Chapter 1: The Swift Fundamentals Introduction Optionals Optional Chainings Guard and Defer Statement Intro to Error Handling Type Casting Intro to Generics Subscripts Class vs Struct Set and Tuple Extension Intro to Operators Typealias Conclusion Chapter 2: Object Oriented Swift Introduction Convenience Init Computed Property Property Observers Failable Init Override Everything Two Phase Init Type Property and Method Singleton Pattern Conclusion Chapter 3: Intro to Functional Swift Introduction Intro to Closures Part 1 Intro to Closures Part 2 Lazy Init with Closures Capture Lists Trailing Closures Completion Handlers Conclusion Chapter 4: Protocol Oriented Swift Introduction Intro to Protocol Protocol Extension Protocol as Type Delegate Data Source Conclusion Chapter 5: Swift Memory Management Introduction Automatic Reference Count Delegate Retain Cycle Closure Retain Cycle Escaping and Autoclosures Conclusion Chapter 6: Functional Programming Introduction Intro to Functional Paradigm Filter Map Reduce Flatmap Chapter 7: Generic Protocol Introduction Intro Protocol Associated Type Type Contraints Override Associated Type Protocol Pitfalls Type Eraser Conclusion Chapter 8: Advanced Enum Introduction The Enum Basics Static Mutating Self Nested Enums Protocol Oriented Enum Recursive Enum Generic Enum Result Type Conclusion Chapter 9: What's New in Swift 4 Introduction Access Control Key Paths Generic Subscripts Codable and JSON Serialiazation Advanced Dictionary Conclusion Chapter 10: Advanced Swift Introduction Nested Generics with Recursive Enum Advanced Operators Advanced Error Handling Equatable and Comparable Sequence and IteratorProtocol Associated Type Constrains Intro to Test Driven Development Conclusion What's Next The UIKIt Fundamentals with Bob Extra Swift External Resources Coding Principles Shortcuts Atom Gmail Google Spreadsheet Google Chrome Xcode MacOS Development Tools Software Markdown Mermaid