I’d definitely start out with books, as there are not many online resources that are very good at teaching beginners. As such, here are the books I’ve used, along with some other highly-recommended titles.
- C Primer Plus (5th Edition): Stephen Prata
- Programming in Objective-C 2.0 (2nd Edition): Stephen Kochan
- Learn Objective-C on the Mac: Mark Dalrymple and Scott Knaster (For Objective-C, I’d recommend the Kochan over this one. It’s easier to learn from)
- Beginning iPhone 3 Development: Exploring the iPhone SDK: Jeff LaMarche and David Mark (Great introduction to the iPhone SDK, although in some places it doesn’t explain the concepts enough, preferring to dive right into the code)
- More iPhone 3 Development: Tackling iPhone SDK 3: Jeff LaMarche and David Mark (A natural continuation of the above; same comments)
- Cocoa Programming for Mac OS X: Aaron Hillegass (Although it’s for OS X development, it is still an excellent introduction to Cocoa)
I am not affiliated with Amazon (for one annoying reason, I can’t get into the affiliate program), but it’s the easiest way to link to the books.
Some of these books are slightly dated; they apply to the 3.0 or 3.1 SDKs, but 4.0 and the inevitable 4.1 bear enough similarities. The books are still an excellent stepping off point—4.x is an extension of 3.x, not a replacement.
