Another giant day with a quick morning assessment that involved a random number generator app to get the juices flowing. Then an early lecture on Object Oriented Concepts like classes and objects in Objective-C framed in a Chemistry App with a Hydrogen and Oxygen class that quickly was refactored into an Element Class with designated initializers to pass in the element symbol and atomic weight. Then we discussed class methods, inheritance, and categories.
Then we joined the Ruby class in a Knot Tying lab where we got to acquire the beginner mind on knots plus learn some really useful knots.
After some lunch we returned to lecture to discuss the Delegate Design Pattern, Protocols, and what it means to be the First Responder.
From then to the end of the day we spent on the OOPZoo lab where we built an App with 12 Animals that pop up with UIImageViews from an xcassets construct and respond to the Tap Gesture in order to pop up a modal view to provide some facts about the Animal. Of course, the 12 Animals had to be organized into a class hierarchy.
It was a large App in such a short time so the big take away for me was the three objectives Joe set out of:
1. make it work
2. make it right
3. make it fast
We may not necessarily get to 2 and 3 right away but at least we should get to objective 1. This hackathon style mentality is a great way to approach any project since you should always plan on throwing out your first generation of code.
We went back into lecture at the end of the day to discuss the Singleton Pattern and its specific implementation in Objective-C. We also discuss the benefits of constants versus old-school #defines.
Expect another big day tomorrow with TableViews and Core Data and a morning assessment of a Deck App.