Intermediate Swift: Patterns in Using Swift
Our focus for the first day day will be on types and communication.
In the first half we create a family of types for Currency and use Phantom Types, Nested Types, Protocols, Protocol Extensions, and Generics to ensure they work properly with each other. We also introduce elements that allow you to write literate code that is easy to read and use safely. We end this section with custom operators you will adopt and use in your everyday Swift development.
In the second half we focus on how Swift changes the way you architect your apps. We move from MVC to MVVM in two settings and see how working with value types changes some of your standard practices. In the first example, we partition behavior into discrete parts and limit their knowledge and dependencies. We focus on reducing the surface area of the API we work with. In the second part we build a generic model and use it in a simple Table View application where the data source is not the Table view controller.