Table of Contents
- Taking the First Steps with Swift
- Learning about Variables, Constants, Strings and Operators
- Optional Types
- Using Swift Collections
- Control Flow
- Functions
- Classes, Structures, and Protocols
- Using Protocols and Protocol Extensions
- Protocol Oriented Design
- Generics
- Availability and Error Handling
- Custom Subscripting
- Working with Closures
- Concurrency and Parallelism in Swift
- Custom Types
- Memory Management
- Swift Formatting and Style Guider
- Adopting Design Patterns in Swift

