Sorry your thread got derailed with the [painfully irrelevant] bickering.
In my mind (and I wouldnt suggest Im a educator of any sorts, just been developing for 20+ years), theres three basic competencies: general fundamentals (that arent language specific), a/the language, and finally the SDK/API/framework.
Once you understand some basics of structures, flow, OOP, MVC concepts, etc., thats easily applied to the language and becomes a matter of understanding syntax.
Then being conversant (so-to-speak) in a language allows you to extend that into the environment specific context, whether its a web framework like ASP.NET, Django or Rails, or a device SDK for a mobile platform like iOS.
The more languages you understand, the more you know what you _need_ to know. Super simple example: if I need a string value, I know some general things about how theyre handled, the likely methods and properties that should be available (so I know I need-to-know how to concat, return a substring, get the length, whatever ...).
I think sometimes, people get overwhelmed with Obj-C because they tend to encounter it in the vastness of Xcode where theyre not only dealing with the language (and basic concepts of programming and design), but the IDE UI, the SDK, tons of configuration, build options, etc.
Sometimes I think the best thing to do first, is to experiment a little with a language that can be run outside of all that noise, like Javascript in a browser, or Ruby, Perl, Python from the command line, or even a simple web stack like MAMP so you can get a little exposure to a language as well as a backend piece like the database (so many iOS apps, ours included, have a bunch of different moving parts: the iOS app, web services, DB, things like S3 for file storage, performance components like load balancing, caching [though some of the latter is more infrastructure/architecture and not a NTK to get started])
Good luck!