In this chapter you have laid the groundwork for the rest of the app and done so in a way that gives you the best possible chance of producing code that is robust, easy to maintain, and easy to comprehend when returning to it after six months on a surfing holiday.
Specifically, you have learned to plan the app according to a projected user story, applying the Model-View-Controller design pattern, and then set up the project according to that pattern; you have used Group objects to layout the user interface in Interface Builder and you have prepared the Interface Controller class's methods. You have also implemented some best programming practices by encapsulating the game logic into a class of its own and using enums to make your code easier to write and clearer to read.
In the following chapter we will flesh out the methods we have already declared, and begin to run, evaluate, and improve the code; we will add the ability to navigate to other screens, and enable the user to customize...