What You Will Learn About Objective-C


So, having decided on doing a course on Objective-C, I’d like to set down some goals.

  1. As I mentioned before, I will attempt to teach C and Objective-C as one language. Obj-C is a strict superset of plain C, which means that any valid C is also valid Obj-C. The reason for this decision is that C is a procedural language, where you worry about how you do a task, whereas Obj-C is an object-orientated language, where you worry about what you use to do a task. It’s a radical shift in mindset. As a result, although Obj-C builds smoothly off of plain C, not all C styles and procedures work with Obj-C.
  2. I want to engage, not just present the facts. As a result, I will supply plenty of screenshots, and include exercises at the end of each lesson. I will also post the source code to each lesson on this blog—stay tuned for more.
  3. I want to create a solid understanding that frees you from having to go back to a reference every other line of code. That gets annoying, and you won’t get much respect in programming circles. 😛
  4. I want to make it an easy and fluid learning environment. People learn better when they are subject to less stress. In fact, I’m not going to stress you at all—you’ll be your own motivator. You want to build the next great iPhone app—so put in the effort!

In this course, I hope to build up a small code library, and have each lesson build up off the previous. I still need to plan out the order of the lessons and their content…stay tuned!

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

Get a Copy of Xcode (It’s Free)


Download yourself a copy of Xcode to get started.

  1. Visit the Apple Developer Connection site.
  2. If you already have an account, log in to the iPhone Development Center using the blue buttons near the bottom of the page. Go to step 5.
  3. Register as an iPhone developer. If you plan on selling your apps, register as a standard developer. (It will cost $99 a year. It’s totally worth it). For most people, you can just register as a free developer. The difference (for now) is that the free version does not let you test your apps on device; you’re limited to the Simulator. That’ll work fine for the majority of topics I plan to cover here.
  4. Follow through the steps. They’re pretty self explanatory. Fill in your profile, agree to the agreement, and check your email for a verification code. Congrats—you’re now a registered Apple developer!
  5. Visit the iPhone Dev Center and sign in.
  6. Download the SDK (the link is in the second rectangle on the left, about 2/3 of the way down the page). The latest version as of this writing is iOS SDK 4.0.2. If you have Snow Leopard, download that version. The Leopard version contains a different subset of features.
  7. Install it, and you’re good to go!
  • 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
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  
  • Time Machine

  • You count!

    • 622,650 views
  • Worldwide Stats

    free counters
%d bloggers like this: