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:
- Goals for this Course
- A Brief History of Objective-C
- Language Concepts
- How Programming Languages Work: A Brief Overview
- Lesson 1: Hello, World!
- Extending “Hello World”
- Reserved Keywords
- Lesson 2: Basic Variables
- Escape Sequences
- Format Specifiers
- Lesson 3: Object-Oriented Programming
- Integer Operations
- Floating-Point Operations
- ASCII, Booleans, Characters
- Lesson 4: if() Statements & Booleans
- Inside the if() Statement
- The Switch Statement
- Lesson 5: Loops
- Incrementation
- Loop Aids
- Lesson 6: Objects: Splitting Classes
- Lesson 6: Objects: Properties
- Encapsulation
- Methods (in detail)
- Lesson 6: Objects: Extending the Fraction Class
- Pointers
- Lesson 6: Objects: Inheriting iVars and Methods
- Lesson 6: Objects: Inheriting, Extending, and Overriding
- Lesson 6: Objects: Miscellaneous Inheritance Topics
- Lesson 6: Objects: Introspection
- Lesson 6: Objects: Dynamic Typing
- The Preprocessor
- Conditional Compilation
- Variable Scope
- Lesson 7: Enumerated types and typedefs
- Lesson 8: Categories
- Lesson 9: Protocols
- Lesson 10: Memory Management
- Lesson 11: Object Initialization
- Complex Initializers
- Lesson 12: Exception Handling
- Lesson 13: Key-Value Coding
- Advanced KVC
- Lesson 14: Structs and Unions
- Structs and Objects
- Foreach Loop
RP
/ March 12, 2011Thanks 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.
Roberto
/ October 25, 2011Great 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
inspire48
/ October 26, 2011Thank you! The PDFs from Apple are usually more reference in nature, they’re not really guides. Having some previous experience will really help.
hello
/ September 6, 2012why 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 ..
Feifan Zhou
/ September 15, 2012Obj-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.
Ajith Nair
/ December 14, 2011Excellent. 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.
inspire48
/ December 14, 2011Thanks! I appreciate your appreciation. 🙂
Goose
/ January 11, 2012Thanks 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 😀
Ducky
/ January 18, 2012Thanks 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!
Thompson
/ February 9, 2012I’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.
adarshatwar
/ March 9, 2012Reblogged 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’.
cgchinmay
/ April 13, 2013I 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
Feifan Zhou
/ May 19, 2013You 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.