Learn Objective-C in 24 Days

Yep, that title says 24 DAYS, not hours. You can’t learn a programming language in 24 hours. Publishers say you can, but that’s just for marketing purposes. To really get to learn a language, to the point where you don’t have to look back through the book every other line, takes time. It takes time to do the exercises. It takes time to formulate questions, and answer them for yourself (although I’ll be glad to answer any to the best of my ability).It takes time to let the language sink in.

I’m starting a series that will attempt to teach the Objective-C language. As Kochan did in his book (see my Resources page), I will attempt to teach plain C and Obj-C as one language. I don’t know how long it’ll take to complete—we’ll see. I want to do a solid job of teaching the language though. This post will be updated as an index of all the lessons. I hope to have the first one out by the end of the week.

My goal is to teach the series at a comfortable pace for most people. I want it to be a fun and engaging experience, and an easy place for beginners to begin their coding journey. As always, comments and criticisms are appreciated.

Download a copy of Xcode, and get ready to learn!

Directory of Lessons:

  1. Goals for this Course
  2. A Brief History of Objective-C
  3. Language Concepts
  4. How Programming Languages Work: A Brief Overview
  5. Lesson 1: Hello, World!
  6. Extending “Hello World”
  7. Reserved Keywords
  8. Lesson 2: Basic Variables
  9. Escape Sequences
  10. Format Specifiers
  11. Lesson 3: Object-Oriented Programming
  12. Integer Operations
  13. Floating-Point Operations
  14. ASCII, Booleans, Characters
  15. Lesson 4: if() Statements & Booleans
  16. Inside the if() Statement
  17. The Switch Statement
  18. Lesson 5: Loops
  19. Incrementation
  20. Loop Aids
  21. Lesson 6: Objects: Splitting Classes
  22. Lesson 6: Objects: Properties
  23. Encapsulation
  24. Methods (in detail)
  25. Lesson 6: Objects: Extending the Fraction Class
  26. Pointers
  27. Lesson 6: Objects: Inheriting iVars and Methods
  28. Lesson 6: Objects: Inheriting, Extending, and Overriding
  29. Lesson 6: Objects: Miscellaneous Inheritance Topics
  30. Lesson 6: Objects: Introspection
  31. Lesson 6: Objects: Dynamic Typing
  32. The Preprocessor
  33. Conditional Compilation
  34. Variable Scope
  35. Lesson 7: Enumerated types and typedefs
  36. Lesson 8: Categories
  37. Lesson 9: Protocols
  38. Lesson 10: Memory Management
  39. Lesson 11: Object Initialization
  40. Complex Initializers
  41. Lesson 12: Exception Handling
  42. Lesson 13: Key-Value Coding
  43. Advanced KVC
  44. Lesson 14: Structs and Unions
  45. Structs and Objects
  46. Foreach Loop
Leave a comment


  1. RP

     /  March 12, 2011

    Thanks for your effort. I’m just starting (using a book and the 1 hour I have in the middle of the night when the kids go to sleep) but I plan to visit your blog often.

  2. Roberto

     /  October 25, 2011

    Great Great Job. I can not wait to dive into it …. I think it is a clear path to follow. Though I have some basics on C and C++ , this will help me gather everything together. ( i´ve been studying some pdfs from the development center but are lack of examples ).

    I plan to develope my own app .. I will keep you posted on any progress.


    • Thank you! The PDFs from Apple are usually more reference in nature, they’re not really guides. Having some previous experience will really help.

      • why obj-C is so different from C,C++….there are many C’s today and it’s confusing.and why
        should someone learn that language ..

        • Obj-C and C++ were built by different people following different paradigms. Obj-C is the native language for iOS and OS X development. C++ is the de facto Object-Oriented language derived from C, and is used everywhere; you can write iOS and OS X programs using C++ if you’d like. In fact, with recent developments, there’s no real argument against it. C# is another large C-varient, and it is primarily used on Windows and related platforms.

  3. Excellent. I recently started learning Objective-C, and while I’m not a beginner in programming, I appreciate the level of detail and simplicity of your articles.

  4. Goose

     /  January 11, 2012

    Thanks very much for this guide 🙂 I love the way you’ve broken it up into small chunks as I’m trying to learn Objective-C and am finding many massive, tedious lessons. The way you’ve packed so much detail into so little space is great! Will definitely be completing this tutorial 😀

  5. Ducky

     /  January 18, 2012

    Thanks soooo much for this guide! I have been trying to learn how to create iOS apps but have not been able to understand the obj c but now….thanks!

  6. Thompson

     /  February 9, 2012

    I’ve beens elf-teaching for about 11 months now and can honestly say that for that the topics I already understand/am familiar with I wish I had seen this info sooner. Also, I like the breadth of topics; fr ex, your info on the preprocessor and conditional compilation is welcome.

  7. Reblogged this on Comfortably numb and commented:
    I’m trying to pickup iOS programming a bit more seriously than my previous half-hearted attempts. While searching for good, step by step tutorials/guides to approach the subject, I stumbled upon this blog which seemed approachable. So this reblog is a bookmark of sorts, linking the index to the series of 46 ‘lessons’.

  8. cgchinmay

     /  April 13, 2013

    I have a textView in my app and I want to read in the text entered by the user inorder to manipulate certain words like changing font color or capitalizing them.How can I go about doing this ? I did check the delegate methods for UITextView but couldn’t understand how to read one word at a time followed by comparison of that word to something and accordingly manipulate it

    • You would have to read in the whole string. You can then use a method like


      and pass in

      @" "

      to get an NSArray of all the words. Then do your processing on an array element.

  1. 2010 in review « Programming for iOS
  2. Objective-C Programing for iOS

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

  • Welcome

    My goal is to make CupsOfCocoa into a beautiful source for beginners to the iPhone platform to get started. Subscribe below for more, and stay tuned!

  • Contact Me

    If you need to contact me for any reason, feel free to send me an email.
  • The Giving Spirit

    If you've found this site helpful, would you consider donating a little sum? Any amount is appreciated...Thanks so much!

  • Roadmap

  • Enter your email address to follow this blog and receive notifications of new posts by email.

    Join 220 other followers

  • Back to the Past

    August 2010
    S M T W T F S
  • Time Machine

  • You count!

  • Worldwide Stats

    free counters
%d bloggers like this: