So you know you should invest in learning Objective-C and iOS because it’s good for you – it’ll allow you to invest in your knowledge portfolio, stay relevant, build and sell apps, take your career in a different direction, and show off your work to your friends and family. But do you know what specifically you need to learn? What parts of iOS and Objective-C are important? What’s the quickest way to competence so you can move on to what you really want to do – build your first app?
No matter how you choose to learn, you’re going to need to spend a lot of time with iOS and Objective-C – there’s no getting around that. Additionally, you may want to invest money to get you there more quickly. And whether you invest only time OR time + money, you want to make sure you don’t waste it – you want to get a good return on your investment. So rather than wasting your time learning some obscure iOS framework you’ll never use, focus on learning the concepts listed below. These are the things you’ll use in almost any iOS app you develop.
You can use this list along your journey to check off what you learn. Or you can use it to evaluate whether that course you found is worth the price – or just a waste of your hard-earned cash.
Xcode is the IDE to use to develop iOS apps. It’s the only way to edit storyboards, xibs, and Core Data files. Make sure that you’re working with the latest version – and that your course, book, tutorial, or screencast is, too. If they’re teaching a different version from what you have, you may have trouble following along. Apple is pretty quick about deprecating old versions of Xcode and forcing developers to submit apps with the latest version, so don’t waste your time on an older version.
Here’s what you should know about Xcode:
- how to create a new project, add files and classes
- how to build and run your app
- how to set breakpoints and debug
- how to browse and search Apple’s documentation
You should know about:
- the crazy syntax: square brackets, @ signs, pluses & minuses, and parentheses
- Foundation objects
- classes: headers and implementation files
- defining, implementing, and calling methods
- how to use blocks
The iOS platform is what gives you access to all the great hardware in iOS devices as well as an extensive library of user interface widgets. It defines lifecycles for applications and views that you need to know, in addition to the basics like how to build a UI. Of course, you should be learning on the latest version of iOS so you don’t waste your time learning the old UI, frameworks, and classes.
Here’s what you should know about iOS:
- building a UI
- the application lifecycle (UIApplication, UIApplicationDelegate)
- the UIViewController lifecycle
- navigation (navigation bar, tab bar, page control)
- table views (UITableView, UITableViewController)
- handling user interaction
- displaying and transitioning between views
- how to get data from a REST API (NSURLSession)
- parsing JSON (NSJSONSerialization)
- the latest version of iOS
If you want to learn all of this in one day…
…without the frustration of trying to read and process walls of text – you might like the iOS Boot Camp. I’d love to have you, but I’m not going to pretend you don’t have other options. Just make sure you don’t waste your time or money on something that’s not worthwhile. Drop your name and email in the boxes below to start learning Swift, and you’ll hear about the next iOS Boot Camp.