Objective C Tutorial

Get the Code Here : http://goo.gl/aNeg5E
Best Objective C Book : http://amzn.to/1GjLx6N

Support me on Patreon : https://www.patreon.com/derekbanas

C Intro 1:40
For Loop 2:37
Main Attributes 3:18
Compiling 4:52
Include 6:06
Data Types 6:17
Scanf / User Input 7:22
Data Type Precision 9:05
If Else Statement 12:07
Comparison Operators 13:02
Logical Operators 13:19
Math 16:29
For Loop 20:08
While Loop 21:58
Do While Loop 22:33
Global Variable 24:06
Functions 24:43
Pointers 28:32
Structs 32:40
Objective C Intro 34:37
Auto Release Pool 35:39
NSLog 36:18
NSString 36:30
Constants 41:02
Convert NSString to String 41:39
NSRange 42:25
NSMutableString 45:06
NSArray 47:37
NSMutableArray 50:23
Custom Objects / Classes 52:36
Header File 53:02
Properties 53:30
Method Definition 54:49
Implementation File 57:49
Constructor / Init 58:02
Self 58:45
Custom Init 59:30
Method Initialization 1:00:09
Creating Objects 1:01:28
Executing Object Methods 1:01:58
Inheritance 1:04:44
Catagories 1:07:56
Protocols 1:11:21
Block Anonymous Function 1:13:06
Enum 1:14:08
Dynamic Binding 1:14:49

In this video I’ll teach most of the objective C programming language in one video. I’ll also teach a great deal of the C programming language as well.

I’ll cover compiling, include, variables, data types, functions, pointers, structs, main, printf, formatting, scanf, comparison operators, logical operators, if, else, ternary operator, math, casting, order of operations, looping, ARC, NSLog, classes, objects, NSLog, NSString, NSRange, NSArray, NSMutableString, NSMutableArray, init, alloc, inheritance, categories, protocols, blocks, enums, dynamic binding and more.


Ritesh Malik says:

awesome thanks

mikołaj król says:

The best programming tutorial I’ve ever seen. Thank you very much!

Aimran479 says:

I think I’m missing the prerequisite knowledge necessary to understand this video. Should I begin with Javascript? :S

Ruchi Gupta says:

30:23 Liked it

cronnostiger64 says:

34:34 to skip the C part ^^

George Uk says:

Thank you very much and I like the speed of this video.

joshua gollaher says:

This is the most amazing language I’ve ever used, I am so glad you made a video on it.

ALL ONE says:

And the grand finale…anonymous functions in OBJC…a COMPLETELY DIFFERENT language…steve jobs is lucky he is already dead…otherwise people would hunt him down.

Miguel Caballero says:

Well done sir!

Arthur says:

thanx alot
very nice and smooth pronunciation and very infomative lesson!

patricknasc says:

Around 15:00 you’ve declared: bool isElementary = ((age >= 12) && (age <= 13)); How did you do to use a bool data type inside a C program? I'm getting a "Use of undeclared identifier 'bool' in any of my attempts." The same way I'm not able to do: !true, because true isn't declared as well! When I first studied C in College, I remember that C didn't have a boolean type, so I got a bit confused now! =/

Nunzio Meli says:

amazing video

Steven Baggins says:

Also, I’m pretty sure you don’t need to save anything when you use xcode. I think as soon as you type something it is saved. You can just use command-r to run your app.

Onur Demirtaş says:

Aweeeeeeesome. Thanks.

ALL ONE says:

Oy…that NSRange part at 42:00 …derek…any notes on WHY it’s not a pointer?…really annoying when OBJC doesn’t comply with the OBJC way of doing things…

Zach Diaz says:

so complicated

Ibrahim Hammoodi says:

The video is AMAZing! Thanks Derek.
As I am new to programming do you think I can fully get Obj-C as first language or should I learn Python first?
btw till now I spend so much time on Obj-C in teamtreehouse website and I think I understand everything only methods are a bit tricky for me but as I saw your video they got much simpler.

Thank you

statikreg says:

Objective C syntax doesn’t make any sense at all….

Markus E. says:

Sometimes you are defining variables with stars and sometimes not. That’s really confusing.

Sirish G says:

Hi, great video Derek .
Can you put a video on Cocoa and also on the different types of Applications which can be written using Xcode.

coden4 says:

Wow, you know a lot of programming languages!

Karolis Liucveikis says:

Why did “Wonder Woman” and “Kid Flash” got inside double quotes after inserting Superman?

ALL ONE says:

Started studying and using OBJC when the calendar read 2013…and STILL amazed at how COMPLETELY RIDICULOUS some of it is…still learning to use some of it because some of it is such a sad travesty of language design…seemingly have a resistance to studying things that are so horribly designed. Occasionally stare in awe at how completely idiotic some of OBJC is.

So sad that a modern programming language was designed so horribly. Really not a fan of swift…yet…some days…well…both of those languages are honestly sad. Thankfully swift is mainly sad because it’s still getting rid of the OBJC baggage…wish that Apple would release a swift edition of ALL of the frameworks NOW…this month….today…

Attila Maraz says:

1:12:35 in Koala.m file u implement the lookCute function but you leave a typo in (a ” is missing), the row is indicated with the red error mark so I am waiting that you will come back and correct it. But no, you go and call that method from main.m. At 1:12:58 the calling line is still marked with red and you run Command+R and whoaaa it compiles… WAAAAAAT? :DDD with erraneus code!?!? 😀 What kind of magic is that? 😀 Do you correct it with some kind of shortkey, or the video is cut? 😉

Lapin Noir says:

Excellent Tutorial on C basic’s to advance Obj C. This guy is amazing !!! Do you have any course for sale ?

Jason Melendez says:

I absolutely LOVE your videos as an 11 year old and I am learning a LOT. Thank you +Derek Banas 🙂

Emir Kurtanovic says:

At 1:10:28 Can someone explain me why did he change the “Vet” to “Protected”, where did he define “Protected”? And in a Animal+Vet.m class it is (Vet)…

Orlando Vega says:

Great tutorial, thanks Derek !

Daniel Musser says:

Derek, I’m slightly confused about how method/function calls work in objective c. From the characterAtIndex method that you call on the “quote” NSString object, It seems like the format/syntax for method calling works like this:    

[objectName nameOfMethod:arguments]   

But then you say that the when you’re calling a method inside a method, for some reason the syntax seems to change, like in this example (used around the 41 minute mark):   

[[myName uppercaseString]UTF8String]   

What is the UTF8String doing there in that case? Is it just a special syntax used only for casting? I would think that if the returned value of the uppercaseString method is being passed in as an argument to a method for UTF8String, it should look like this:   

[UTF8String someMethodName:[myName uppercaseString]]   

Also, you use several examples where you call methods on a class directly, without creating an object or instance, like with the NSString class here:   

[NSString stringWithFormat:@”- %s”, name]   

Are those examples just utilizing static methods of the NSString class?


I know that was a lot of questions, but if you have time to answer them, I’d really appreciate it.  Thanks!

Shlomit Peri says:

The tutorial helps a lot. Thank you very much!
I didn’t get the part with the category (Protected)… what is the difference between that class and other category classes? Also, what is the difference between category and an extension?

Mr. Sum Wong says:

I am confused, this doesn’t look like objective c.

BigBrother IsWatchingYou says:

Am I the only retard out here that will never be able learn this i been studying for ever still have no idea how to start someone lead me to the very first step computers are my life i just use them for the wrong things instead of learning for example watching and making comments on videos like this instead of practicing sorry for my poor grammar i never graduated high school sad but true i know

TMV says:

hey hi Derek, I have a question, I know whats a @interface and @end, but what is a @protocol, there is a lot of @otherNames.

Adinivermekistemeyen Gizleyici says:

why is that speeeeeeech

abdoulaye diouf says:

What coding  software are you using, is it free on mac?

Yash Belhe says:

Your videos are just amazing. Although I have a pretty strong understanding of C, I couldn’t get myself to skip that part because of your epic teaching style!

Lilly says:

Thank you, i was having trouble with objective c sintax, but you made it look humanly possible, even simple. Thank you very much

Wang Valid says:

Thank you so much, I can’t wait to buy you a cup of coffee! 🙂

Douglas Macarthur says:

good job !

Kenneth Esguerra says:

This a great tutorial +10! Thank you so much Derek! 🙂

oskar ewfall says:

wow this is just like regular C, easymode!

Ricardo Gehrke Filho says:

Great review on the C language and great objc tutorial.
Congratulations 😉

Markus Bröker says:

Thanks for your really fast and cool Objective-C Tutorial!

NSString* (^comment) (NSString *text);
comment = ^NSString*(NSString *text){
return text;

NSLog(@”%@”, comment(@”Thumbs up!”));

dheeraj reddy says:


Phillip Vance says:

When you’re pointing to a string variable like @36:59 when you write NSString *nothing = nil;

Why are you using a pointer? Is this the way character arrays are defined in OBJ C? Why can’t you do

NSString nothing[] = nil;

Does it have something to do with Dynamic Memory Allocation? I don’t understand why pointers are being used on strings

Quan Vo says:

Danny McBride is teaching me Obj-C 🙂

 Write a comment


Do you like our videos?
Do you want to see more like that?

Please click below to support us on Facebook!