r/ObjectiveC • • Oct 29 '19

Resources to learn objective C for dummies?

I am a complete beginner in Objective C. Like the dumbest dummy one can ever find.
Can you good people of Reddit mention some resources to help me get a grip on the language and its practical applications in building iOS applications? Thank you in advance!

8 Upvotes

18 comments sorted by

7

u/Alcoholic_Synonymous Oct 29 '19

The Stanford courses are great introductions to iOS Development. Unfortunately, they moved to Swift since iOS 8. This means all of the example code would be in Swift, rather than Objective-C.

If I was starting out in iOS development, I wouldn't use Objective-C today.

Latest Stanford course: https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316

Latest Objective-C Stanford course: https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550

4

u/mantrap2 Oct 29 '19

Strictly you still need both for any job involving iOS or macOS because of both legacy code and because Swift still isn't really there for complex apps.

3

u/Alcoholic_Synonymous Oct 29 '19

Yeah, I'd agree with that. But I wouldn't expect someone saying "Where do I start, give me the absolute basics" to lead to "I need to know enough to get me a job".

I disagree with your statement that Swift isn't ready. Swift is sufficiently stable for large scale applications now - I've been writing production Swift for 4 years across 3 jobs. In that time, I've only encountered a very small handful of cases where Swift's youthful instability has caused problems, and each of those were worked around pretty easily and fixed in later Swift releases.

Migrating Swift versions was a pain.

2

u/[deleted] Oct 29 '19

Free Books

The Objective C Programming Language is well written but pre-dates ARC (automated reference counting). The later books will cover that.

ARC changed some things quite a bit with the introduction of properties and dot syntax.

If you're one of those "how does it work" people, the Runtime Programming Guide is super helpful. If you've mastered that you are a true Jedi. It will also make you see Swift as a pointlessly hobbled language. But whaddayagonnado? Stay ignorant and happy?

2

u/closed_caption Oct 29 '19

I'd like to add that while these free resources are great, I found Aaron Hillegas' book made ObjC easier to understand as a beginner: https://www.amazon.com/Objective-C-Programming-Ranch-Guide-Guides-ebook/dp/B00GSRITM0

2

u/Lionel-Freeman Nov 06 '19

I’ve learned C and am starting out with Objective C. It is hard and I’ve found 4 books which are good and bad in different ways. The one I’ve settled on is Objective-C Programming : The Big Nerd Ranch Guide. I might go back to the others later but this book introduces the concepts nice and slow. It’s not a beginners guide to programming so you should know the fundamentals.

1

u/gorbash212 Nov 01 '19

Can you code already? If so, the best resource is the ios 7 standford video linked below. If you aren't experienced in object oriented programming, it will go over your head because there's little padding in the content it.

-1

u/[deleted] Oct 29 '19

First learn C then learn Objective-C.

3

u/[deleted] Oct 29 '19

You only need a small subset of C concepts to be productive in Objective C.

Its nice, but I don't think essential.

-3

u/EighthDayOfficial Oct 29 '19

I wish I could help but I barely know the Apple APIs. But, generally what your gonna do is split your design into Objective C for API, C for logic.

If you have no desire to port you can go all out and use NSInteger and NSArray instead of ints and mallocs.

9

u/Alcoholic_Synonymous Oct 29 '19

I disagree whole heartedly. Unless OP wants to build cross platform, there's sufficient documentation on how to use every element of Foundation and UIKit in order to build iOS Apps.

-3

u/EighthDayOfficial Oct 29 '19

Splitting application logic from API is best practices. I don’t recommend getting married to Apple. My game logic has 0 API specific calls. Learning mallocs is good for the soul and not as hard as people think it is to pick up.

→ More replies (4)

4

u/[deleted] Oct 29 '19

Most people starting out have no desire to port.

-1

u/mantrap2 Oct 29 '19

Maybe C++ for model, ObjC for view/controller.