Dev Diaries: Learning iOS / Objective C

Here are the very specific steps that my friend used to learn how to build iPhone apps.

A quick shout out to my friend Jeevan who took some time to document his learning process and was willing to share with other beginner mobile app developers.

Understanding the basics.
I read through the Objective C manual several times and noted all of the basic features of the language. I started with variables and properties, understood what the scope of a variable was, and how getters and setters were set. I then tried to understand features that are common to Objective C as compared to other languages and noted them in the ignore list. I tried to understand special features of the language such as fast enumeration and categories. But all in all, I read the manual several times over: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/ProgrammingWithObjectiveC.pdf

Understanding the development environment.
I downloaded the Xcode app, and browsed thru the manual. I then dug thru the internet to make a cheat sheet of what’s what. The biggest thing to understand was the project properties file — I must admit I may still know it fully. I then began to try out the different options in it and looked up the help file as much as I could. With limited knowledge I tried building an empty project. I began to watch Xcode related YouTube videos which helped immensely.

Understanding the framework.
Next, I set up a closed loop where I would read up a part of the framework such as Timer, or Graphics and follow that with looking at as many relevant examples projects as I could and reading up more. I would run each project, see the output, change bits of the code to see what changes I see in the app, and making notes. I kept watching YouTube videos about stuff that I fully did not understand.

Understanding the common best practices.
I now had enough info to know what questions to ask (as in — what keywords to use in my questions) and what answers and info to look for. So I got on internet forums (stack overflow and other sites) quite a bit to ready up the popular problems surrounding what I was trying to understand, the problems I was facing, and tip and tricks, good things to do etc. I kept watching YouTube videos about stuff that I did not understand. I kept trying out code.

Putting it all together.
Having delved into the above, I tried to put together a good app idea where I could get to use all of the features of Objective C that I had learnt so far. This gave the whole learning a sense of purpose and I began to code towards the end goal, I did have to scrap my work and restart at least 5 times because, well, new learning!. From that point on to the app submission, it took me about 5 months, but by then I knew how to develop an iOS app end-to-end reasonably well.

Dev Diaries is brought to you by NoD Coworking in Dallas, Texas.