Flatiron Day 14: ARC and UI Tricks

You’re closer than you think to a career in tech. Our grads have launched rewarding new careers — you can too.

View Our Jobs Report

The following is a guest post by Dulio Denis and originally appeared on his blog. Dulio is currently in the iOS-000 class at The Flatiron School. You can follow him on Twitter here.

Another geofencing Morning Assessment.  This time I put in a button to switch between jumping in and out of the region I set-up so I wouldn’t have to type it in the coordinates in the Emulator.

Morning Lecture today covered ARC which is the marketing name for what the Apple Xcode development team called ARR: Automatic Retain & Release – a way more descriptive name for what Automatic Reference Counting is.  I think this makes it cleared that ARR is not a form of Garbage Collection.  Why did Apple Marketing change it?  The story I heard from now-retired Apple Director Don Melton leader of the WebKit and Safari teams tell is that the development team would act like pirates whenever they talked about ARR – so marketing changed it.

Specifically, we discussed the retain cycle, why children should not strongly retain to parents, and the UNIX philosophy of doing one thing well.  This reminded me of Windows Phone 6 which had a menu bar and you had to use a stylus.  No menu bar on the iPhone in UIKit is a good thing.

After another Sophie Lunch of Beef Stew we plowed into Afternoon Lecture with UI Tricks of the Trade.  We took a look at a Random Palette Generator at Free 80x15 Button Maker. These are great designed palette color schemes which color hex codes. What do you do with the hex code you ask – why put it through a UIColor Code Generator. Next we enhanced Navigation Bars by setting tints, translucency, and title text attributes. We then went back to the Visit Charlotte App from Flatiron Day 11 which we changed to the Visit New York App. Today, we went in to enhance the UI of the App.

Blog post image: tumblr_inline_murxrhU7v01rtan47.jpg

We had Jeff Holliday CTO of brainscape come in for a guest lecture entitled “Reducing Dependencies in Objective-C.”  This reinforced the Morning Lecture and Jeff showed some sample code he had brought along.   

Jeff discussed four standard ways to break down dependencies:

  1. KV Broadcasting/Observing

  2. Blocks

  3. NSNotifications

  4. Delegate Patterns

Jeff spent the lecture on the delegate patterns: defining that this is a technique to remove dependencies between objects and explained that the delegate pattern is the method Apple favors the most in their bag of software engineering patterns.

He described the three opportunities of when it makes sense to use the delegate pattern:

  1. When you have a circular dependency,

  2. When you want a reusable class,

  3. When you have an asynchronous interaction with outside objects.

In Q&A Jeff revealed he was a big proponent of the Freemium App Model (in the absence of App Trials): make it free and kill with in-app purchases.

After the guest lecture concluded we dove into more Afternoon Lecture with Custom View Table Cells in the Senari App by adding custom table view cells with switches, steppers, and labels both by making a XIB and then doing it with a Storyboard.

We then went back to finish yesterday’s lab of the LocationQuiz before the big event of the night: the First iOS Devs NYC Meet-Up. Al presented not only ShapeLib MapKit Polygon fun but also showed off CocoaPods and his own passion project of GeoMatch.

A great first meet-up which will be followed-up by another one next week.

Headshot of Flatiron School

Flatiron School

Blog Post Author

Read More Flatiron School Articles

Since we opened our doors in 2012, thousands of students have joined Flatiron School to launch new careers in tech.

Explore our Courses

Find the perfect course for you across our in-person and online programs designed to power your career change.

Explore Our Courses
Join a Community

Connect with students and staff at meetups, lectures, and demos – on campus and online.

Join the Community
Schedule a Chat

Have a question about our programs? Our admissions team is here to help.

Schedule a Chat