Some Objective-C advices from a rookie
A lot of people want to dive into iOS programming, I thought I would tell you about my story and why I think I am heading in the right direction.
Now, first of all, I must say, I am 26. Why does my age matter? Because I want everything, and now. As I suspect most people reading this do. So I set out to learn Objective-C and iOS development in a quick and lean way.
I decided to create an app a couple of weeks ago, because I have a need for it and I think it can help out other people but time will tell if I'm right or wrong. This app is fairly complex, so I am just going to create a simple version of it at first and see if people like it, if they do, I will build on top of it.
In order to build that app, I obviously need to learn iOS development. Now I read that people advise to learn C first for a few months before moving on to Objective-C, but that didn't fit my requirements of learning fast, so I skipped that part.
I learned PHP when I was like 13-14 (PHP4.0!), but gave up quite quick as my priorities changed. But I kept a good understanding of how code functions, I just couldn't write any of it until " weeks ago. Nevertheless, that helped me understand Objective-C classes, variables, etc.
Moving on to my learning experience. I strongly recommend to have a goal in mind (i.e an app you want to create, a career path you want to take, etc.), this will keep you focused when you get lost in the learning process.
I used 2 ressources: treehouse and a book called iOS programming: The Big Nerd Ranch Guide. I strongly recommend using those 2, but if you don't want to, please read tutorials from 2 different resources, you will pick up things in one place that are not well explained in the other.
Treehouse (affiliate link) is interesting because you go on video "learning adventures", and at the end of each video, you have to complete a skill challenge. It's a really good website and I recommend beginner to enrol for a month and try to learning adventure.
iOS Programming: The Big Nerd Ranch Guide (UK, non-affiliate link) is also a great ressource but it's a book. Though it's a really well written book and it has got amazing reviews. I highly recommend getting the e-book version, for the simple reason that it's optimised for iOS 6 and the e-book will be updated for free when the revised iOS 7 version comes out.
Now, I have been learning iOS for 2 weeks and my first app is awaiting approval in the app store. I did not get there by learning the whole of Objective-C, I got there by putting what I learn into practice. Let me put it into perspective:
Before starting to code my big app, I wanted to create a simpler (but useful one) and put it in app store and see what happens.
A developer called Stuart Hall made an app called 7 Minute Workout (https://itunes.apple.com/gb/app/7-minute-workout/id650762525?mt=8) in 5 hours. Now, where am I going with this? It's a very simple app to make, but it's useful to people, I would recommend to make a simple app too at first (he made it in 5 hours, it might take you a few days).
But the key is to understand how to make it. If you break the app down (on paper) in sequences and find out what you need to learn to build it, then just learn that. You don't need to learn about MapKit or iCloud sync just yet, just ship something simple. And if you have a good idea that interests a few of Apple's hundreds of millions of iPhone users, you might make a few bucks as well as learning loads.
I'm unemployed at the moment, so I spend about 10hours a day within Xcode, with occasional FIFA interruption, but if you spend 2-3 hours on it every day, you'll be amazed at how much you can get done, if you only focus on the stuff that matters to you first.
Bottom, if anyone has read this post in its entirety, I would just recommend to use diverse learning ressources and focus on the things you need to learn to ship your app. And make it simple.
And if you want to make more money out of it, learn Mandarin.