In this chapter, we looked into types in general and explored reference versus value types in detail. We covered topics such as value and reference type constants, mixing value and reference types, and copying. Then we learned the characteristics of value types, key differences between value and reference types, and how we should decide which one to use. We continued by exploring equality, identity, type checking, and casting topics. Even though we explored the topic of value types, we did not explore a related topic-immutability, in this chapter. Chapter 9, Importance of Immutability will cover the importance of immutability. Furthermore, for in depth coverage of these concepts it is recommended to watch the following videos: WWDC 2015--Building Better Apps with Value Types in Swift (https://developer.apple.com/videos/play/wwdc2015/414/), and WWDC 2016--Protocol and Value Oriented Programming in UIKit Apps (https://developer.apple.com/videos/play/wwdc2016/419/).
In the following...