Skip to content

Instantly share code, notes, and snippets.

@dariye
Last active August 29, 2015 13:59
Show Gist options
  • Save dariye/10893599 to your computer and use it in GitHub Desktop.
Save dariye/10893599 to your computer and use it in GitHub Desktop.

Basic iOS

Learn how to make applications using the autogenerator tools of Xcode. These are things like storyboards and the Xcode generators like the master-details template. Inevitably this will be an application that uses a UITableView and then some sort of detail view with some buttons. Understand how connecting UI elements with the IBActions and instance variables works.

Objective-C

The language of iOS. You can easily write apps without getting super familiar with Objective-C but you should learn some of the basic features of Objective-C. I'd make sure you understand @property and how method passing. In the end Objective-C is a pretty standard Objective Orientated language.

Object-oriented Principles

Pretty much you need to learn and understand the Delegate and Protocol patterns. You'll use them constantly. Everything else is just icing on the cake

Core Data

Besides reading tutorials/articles on the topic playing around with the core data Xcode template is a great way to understand the basics of Core Data. Core Data contains an insane amount of classes and interconnected parts, which makes it very difficult to get going with. As you're reading all this, keep reminding yourself that Core Data is not a database ORM.

API Integration

Play around with Helios.io because it's super awesome and will get you started with networking and the incredibly complex world of dealing with that stuff on iOS. Eventually you'll move onto integrating other SDKs (like foursquare, instagram, twitter, etc) but just start simple and move forward.

Core Location

This will be the first serious use of delegation. Really the two topics you need to understand are the MapKit view and the CLLocationManagerDelegate.

Mobile Design

This is a slightly nebulous topic. I've provided some good resources on my github project, but the most important thing to learn is to never. ever. ever. ever. block the main UI thread. When you click something, the UI should always respond

Customizing UIKit

Customizing the UI really adds an air of professionalism to your app. The big UI elements to learn how to customize are the navigationbar, uitableviewcells, buttons and the new collection view cells. These are the bread and butter of iOS apps and everyone customizes them.

Hardware

iOS devices have a whole host of hardware to play with. To get going I would just focus on the camera/photo library. That's probably the only hardware pieces you'll end up using.

Core Animation

Pretty much the point of Core Animation is for the cool factor. That's why I put it last in this list. I don't find that animation really adds much in terms of "features" but I think it's pretty cool and can be a lot of fun. The most important stuff to learn here when/how to use the transitions from UIView to UIView.

source

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment