Assuming you already know a bit of C and that you like learning by tutorial I'd recommend working through "Cocoa Programming for Mac OS X" 3rd Ed. by Aaron Hillegass. You will get a good tutorial-based introduction to Objective C, Xcode/Interface Builder and the design patterns used to build both OSX and iPhone apps. (iPhone is not mentioned in the book at all but the general patterns are the same.)
Be sure to understand the retain/release memory model as the garbage collector is not avail. on the iPhone.
With the background you gain from Hillegass you'll find it very easy to pick up the differences between OSX development (which uses AppKit) and the iPhone development (which uses UIKit). There is a lot of good information found at the iPhone Dev. Program's website which bridges the gap.
The tutorial approach is always a little frustrating to me personally as often details are glossed over and the topics are not covered systematically but if you supplement the tutorial with the information provided by Apple you can resolve all the little annoyances as they come up.
Finally I recommend watching the videos Apple's prepared about iPhone development.
I second this. The book is pretty relevant even to iPhone programming.
Coming mainly from a Windows background, personally, I've found the hardest thing has been getting used to the OSX/iPhone memory management which can bite in unpredictable ways when you get it wrong.
However, the iPhone SDK comes with many demos and working code which is great for working through when you need a particular behavior. Don't discount Mac examples either, as much of the foundation code still works, even on the iPhone.
I did this, and it made it pretty simple to later go through the Apple Developer documentation included with Xcode. It's worth setting aside a pretty good amount of time to thoroughly learn how everything works, because it's pretty easy to do braindead things otherwise (my first tableview with custom cells was doing TERRIBLE things).
I've been reading the new Pragmatic Programmer book, which is still in beta form. The final printed book will be released in December 2008. It's pretty good, and walks you through step-by-step. I must admit, it's been difficult so far since I had zero experience with Objective C, XCode, Cocoa, etc., but hopefully the concepts will click soon.
I recommend you to enroll on the iPhone Developer Program (it's free if you plan initially to develop for the iPhone simulator only).
I recommend you then to download Apple's documents under 'Getting Started Documents', including memory management and play with the tutorials.
Apple has plenty of resources on their program, they did a good job supporting developers. Good luck!
We already have an iPhone developers' podcast (first episode is an interview with Hampton Catlin, who's selling 1000 copies of his app each day) and are trying to link to interesting iPhone developer related stuff over time. It's getting better each week :) You can also follow us on Twitter at http://twitter.com/MobileOrchard
The website is not that exciting, but the tutorial videos are amazing. I suggest checking out the alpha slider tutorial.
http://www.iphonedevcentral.org/
Be sure to understand the retain/release memory model as the garbage collector is not avail. on the iPhone.
With the background you gain from Hillegass you'll find it very easy to pick up the differences between OSX development (which uses AppKit) and the iPhone development (which uses UIKit). There is a lot of good information found at the iPhone Dev. Program's website which bridges the gap.
The tutorial approach is always a little frustrating to me personally as often details are glossed over and the topics are not covered systematically but if you supplement the tutorial with the information provided by Apple you can resolve all the little annoyances as they come up.
Finally I recommend watching the videos Apple's prepared about iPhone development.
Good luck and have fun!