Today’s Morning Assessment was to implement a Custom TableView Cell from the screenshot of some Podcast App. This seemed easy at first but took us into lunch.
Today for lunch we really struck out by going to Stone Street and picking a random Mexican Grill place. I predict a return to Sophie’s tomorrow.
The Afternoon Lecture was about Refactoring Code. We used the example of Senari and how the ViewController uses NSFetchedResultsController. This is bad because if you want to swap out Core Date you need to rewrite your ViewController. Violation of separation of interests and MVC.
We defined Refactoring as the effort of rewriting code without adding new features. This is always hard to get buy-in for this project activity since it yields no immediate benefit to clients and developers aren’t that enthused to reorg their code. But its essential in our three step model to get from stage 1 (Make it Work) to stage 2 (Make it Right).
We then had Programmer of the Day (yes – for those of you following along at home we haven’t done this in 2 weeks so we joked its more like the bi-weekly programmer): Charles Babbage. Chuck was truly the father of Modern Developers having developed an App in the Victorian Era but being famous for never having shipped it. Well Joe wanted us to code this mechanism Babbage outlined called the Difference Engine which was finished way late and well over budget in 1991 (thus setting the trend for Modern Developers to emulate). It is interesting to note that this thing had a printer designed too which finally was built in the year 2000.
It took us a while to grasp the concept of what was then in 1822 a brilliant idea but is today a shocking terrible App that Apple would no doubt reject. Just like Charles Babbage we seriously under estimated this App and spent a couple of hours on it.
The second Afternoon Lecture covered Relationships in Core Data. Tomorrow, we’ll continue Core Data with NSPredicate.
We then went to the Brooklyn iOS Meet-Up where we covered AutoLayout.