10 Essential iOS Development Topics

Matthew Campbell, November 10th, 2010

Like other development platforms, iOS has some essential skills that you must master to be able to develop a real app. Let’s go over what these big topics are right now.

Understanding the tech that runs our iPads and iPhones is the first step to getting this right. Most importantly for us as developers is the history of what makes the modern iOS work. iOS is made up of many levels each of which is important for us to use to make our apps shine. Knowing the context is going to help you learn the other big topics that you need as well.

So this is the very next step: you want to be able to set up an XCode project in a matter of seconds. This is what you use as your starting point to actually build an app. At some point in the future, your XCode project is going to become an iPhone or iPad app.

If you learned a new platform before you know that half the battle is learning how to use the tools. You want to become an XCode ninja so that you can get from point A to point B like a speed demon. XCode comes with tons of tons like code complete, debuggers, memory leak instruments, code analysis tools, editors, built in documentation and more. All of this stuff has been put there by Apple to help you become a super-efficient app developing machine.

This is what makes apps go. Objective-C is the programming language that developers use to actually make iOS apps. This is a way to give iPhones instructions and ultimately iOS are a long set of instructions coded in Objective-C. If you already program then Objective-C will be familiar to you once you learn the syntax. Experienced programmers will also want to look up advanced Objective-C features like key-value coding and categories.

If you are a complete newbie to programming then you will need to devote extra time to learning this skill.

This is the central idea that Apple engineers used when creating the iOS development platform. The idea is simple: parts of your app will take responsibility for one of three areas called Model, View and Controller. Each thing will only do tasks in their area of responsibility. This simple idea is used throughout the iOS frameworks and in UIKit in particular.

This design pattern has to do with the Model part of the Model View Controller design pattern mentioned above. Singleton just means that only one copy of an object may exist. Singleton is used in the Model part of an app because you only want one copy of user’s date to hang around as the app executes.

UIKit is the name of the framework that gives up all the standard iOS user elements. This awesome framework makes creating really cool looking iOS apps simple and fun. Almost 90% of the time you spend developing apps is really using the various components of UIKit.

Some of the most important UIKit elements are: UIViewController (controls what users seen on one screen), UINavigationController (moves users from screen to screen) and UITableViewController (presents lists of data to users).

An important part of UIKit is the idea of a control. A control is something that we give users like a button or a slider that allows them to convey an intention to us (our app actually). You use a special tool called Interface Builder in addition to Objective-C programming code to work with controls.

Design patterns are developer speak for “ways of doing things”. Delegation is a design pattern where an object delegates responsibility for some actions to other object. Objects can act as delegates if they fulfill certain obligations so than when the time comes the appropriate action can take place.

The idea of delegation is used in almost every aspect of iOS. Most notably, you will find Delegation used in UIKit but other iOS frameworks rely heavily on this. Mastering this design pattern will absolutely be worth your time.

In lots of ways, Core Data is an advanced topic with iOS development. But, the problem that Core Data solves is so important that I personally make sure all my students know exactly how to use this. What Core Data is going to do for you is give your app Data Persistence. This means that your app will be able to remember things that your user does when when the app is not running on the iOS device.

As an example, thing of a note taking app. You an app like this to take notes or write down lists. That information that you put in there must be remember by the app so that the next time you open the app it is still there. Core Data will do this for you.

Yep, it is still a secret but I’m dying to tell you all about it. Soon I promise! Get on to the mailing list to find out immediately when [REDACTED] is available.

Bottom Line: sign up below and don’t miss out on your chance to super-charge your iOS developer skills and launch your app business. Just fill in your name and email and click Submit below.

Im on edge and can’t wait much longer for secret announcement, i have idea’s for app’s that i want to create, and i know what’s coming will make it much easier for me to start creating ipad app’s . Thank’s Matt