The last couple of chapters have introduced a lot of central concepts in the world of programming and we're getting really close to being able to start writing some real programs for our iPhone. One important piece of the puzzle is a strategy to divide the different responsibilities of our code and model the things we are trying to solve with our program.
Object-Oriented Programming (OOP) is a strategy to design our programs and is supported by the Swift language and widely used among Swift developers. Designing our code base using an object-oriented approach makes it easier for us to map our human understanding of a real-world problem into our code. It also makes it easier for us to reason about our code, which is something we care a lot about when we program. The easier it is to reason about our code, the easier it is for us to remember what our intentions were when we wrote the code, and the easier it is for somebody else to help us maintain our code.
The...