Flatiron Day 12: Review Session 2

Today we held our second Review Session and although less than half the class showed up for this it was extremely worth going through this code kata.

We started an empty review session app from scratch and added a storyboard, dragged a navigation controller, implemented the tableview, added a MapView controller, an outside xib for the MapView annotation callout. In two hours we had a fully functioning app that combined all the topics of this past week.  I went back home and repeated all the steps again. Practice makes perfect.

Tomorrow, we start Local Notifications.

Flatiron Day 11: MapKit Annotations

Today’s morning assessment was more fun with MapKit, MKAnnotationViews, callOutAccessoryTapped and some UIAddressBook extra credit.  This took us the entire morning with our own work and then Joe going over the solution.

For lunch James found an awesome hole-in-the-wall joint called Luke’s Lobster where we had Maine lobster, crab, and shrimp rolls. Plus if we go there 9 more times we get a free lobster.  I’ll take that as a challenge.  A taste of Main was a welcome addition to the menu and a much needed break from the constant stream of beans from Sophie’s and Chipotle’s. Continue reading

Flatiron Day 10: Core Location, Location, Location

Today, we had a tough Morning Assessment which at first seemed like a piece a cake (like all assignment seem at first) but turned out to be a doozie.

It reads simple enough to open our iPhone or the iPhone Simulator and go to Settings > Maps and simply recreate the interface using a UITableView with static cells.  What could be easier.  Two hours later and we were wrapping up.  Not that easy once we got into it.

Cruising through Cupertino in an Emulator

Cruising through Cupertino in an Emulator

After a discussion about a new Git Workflow using milestones we reviewed both the Morning Assessment and Homework #3.

Then we started Morning Lecture on Core Location. Continue reading

Flatiron Day 09: Guy Walks Into A UITabBar

Today’s morning assessment was the same one I did yesterday twice – and yet on my third time I still forgot to set the UIImagePickerController Delegate to self until something wasn’t working.  I quickly remembered seeing the missing UIImageView and this reminded me of the Code Kata which comes from the Japanese word (型 ) describing detailed choreographed patterns of movements practiced either solo or in pairs.

The concept imagines how do you get to be a great musician? It helps to know the theory, and to understand the mechanics of the musical instrument. It helps to have talent. But ultimately, greatness comes from practicing; applying the theory over and over again, day after day, and using feedback to get better every time.  How do you get to be an All-Star Sports person? Whether fencing, football, or martial arts, obviously fitness and talent help. But the great athletes spend hours and hours every day, practicing. Practice makes perfect. This is what we are applying to software development with these practice sessions of constant repetition. Continue reading

Flatiron Day 08: View Review

Today, we started the Morning Lecture by discussing the view hierarchy in Cocoa: UIWindow, rootViewControllers, mainViewControllers, Views, UIButtons, UILabels.  We started a project called “LearningViews” to illustrate this hierarchy.  We then injected a NavigationController to see the awesome that you get with this class.  Then we started diving into NavigationController mechanisms of presenting / dismissing Modal ViewControllers and Pushing / Popping View Controllers.

Cruising With Navigation Controllers

Cruising With Navigation Controllers

We then went into Delegates  before heading off to lunch.   Continue reading

Flatiron Day 06: Review Session 1

Today we held our first Review Session and although only half the class showed up for this it was well worth it.

We reviewed the App Lifecycle by putting in NSLog() messages into different methods of the AppDelegate to see when they fired off.  We reviewed pointers by using a metaphor of rooms (the data) versus room numbers (the pointer to the data).  We emphasized the metaphor by watching a short entitled “Pointer Fun With Blinky.”

Continue reading

Flatiron Day 05: Unsticking

We started the day with a morning assessment of a “Table of Dates” App to get the juices flowing and review Table Views and Navigation Controllers from yesterday.

Then we dove right in to Core Data by first talking about what it is (and what it isn’t) to making our List App from yesterday, Senari, Core Data enabled.

Then we joined the Ruby class and had a guest lecture entitled “How to be stuck” on coping mechanisms to help you power through when you get stuck by Michael Hoffman.

How to be stuck (Michael Hoffman)

How to be stuck (Michael Hoffman)

Continue reading