Learning iOS Programming

“What is the best way to learn iOS programming?”

I get this question a lot and in this article I want to tell you guys about what not to do and what I believe is the best way to learn iPhone programming. Let me first share with you guys how I failed the first time when I was learning!

How to fail at learning iOS programming

I worked at a consulting company that built custom apps for clients. Three years ago when I was tasked to build an iPad app, I was stoked to be able to learn iPhone programming and Objective-C and get paid to do it.

I wasn’t worried about learning something new because I knew that there were sufficient resources online to learn from. Despite that, I decided to get a book to learn from because that’s how I’ve learned other programming languages back in school.

Beginning iPhone Development Book CoverThe book I read was Beginning iPhone Development by Apress. The book itself wasn’t bad (outdated now), but the big mistake I made was that I read it cover to cover without reinforcing my knowledge by testing out what I learned along the way.

You see, I had a false sense of confidence because I had a programming background and I had learned new programming languages before. So while I understood the concepts presented by the book as I was reading it, by the time I reached the end of the book, I realized that I didn’t know how to start.

There was no way I could keep the entire contents of the book in my head. If I had practiced the concepts while I was reading it, I would’ve given the newfound knowledge a chance to sink in and become second nature.

So how did I recover from that mistake? I ended up getting my feet wet and followed some iPhone programming tutorials online. I made mistakes along the way and I became better as I went through obstacle after obstacle.

Several more iOS projects later, I had felt pretty comfortable with programming iOS apps.

I would have reached that proficiency a lot faster if I had started learning by practicing and making mistakes rather than reading an entire book before starting.

The thing is, reading the concepts is great and you may feel that you have a good handle on it but when you finally put pencil to paper (in our case, fingers to keyboard), you’ll realize what the gaps in your knowledge are and only then can you ask the proper questions to improve and learn.

The best way I know to learn iOS programming

So having had that experience behind me, I really believe that the best way to learn anything is by taking action and failing as fast as possible. Instead of reading or watching videos non-stop, put that knowledge into action so you can actually identify the gaps in your knowledge.

Learning iOS programming is no different. The best way to start is to open up XCode and try to build a Hello World demo. For non-programmers, this is simply an app that outputs “Hello World” on the screen when you run it.

From there, learn how to layout some UI Elements on the screen and how to respond to user interactions and gestures. Then learn how to introduce a second view into your app and how to navigate between the two views. Finally, learn how to use the UITableView control so you can display scrollable rows of data in your application.

By that point, you’ll have gained enough confidence and made enough progress to become invested to learn even more!

And that alludes to the biggest killer of trying to learn anything; getting discouraged and giving up after not making much progress. If you push past that point, you’ll be building your own iPhone apps in no time and wondering why you ever thought of giving up!

Learning on CodeWithChris

Code With Chris LogoI really believe in a practical approach to learning how to make an iPhone app.

I have a series of free beginner videos that follows this practical philosophy. I recommend that you watch them, try to follow on your own computer and you’ll be amazed at how much you can learn without having any prior programming experience!

Click the banner below to get the videos:

How To Make An App Swift Course