If you have some Cocoa/Objective-C background, then you can jump into iPhone development with the help of "Beginning iPhone Development" by Dave Mark and Jeff LaMarche:
It's very easy to follow, but the authors assume some prior knowledge of Objective-C (as stated on the back cover), so I'd recommend starting with the first five or six chapters of "Cocoa Programming for Mac OS X" by Aaron Hillegass, as noted by others previously.
Aaron has been using and teaching Objective-C and the frameworks now associated with Cocoa since his days at NeXT, and it shows. The material is really, really good.
While the bulk of the development techniques apply equally to the Mac and to the iPhone, some techniques apply only to the Mac (e.g., garbage collection, bindings, Core Data) and some apply only to the iPhone (e.g., multiple targets for one action).
If you want to pick up iPhone development really quickly and you're willing to invest some cash, Aaron's team can also teach you everything you need to know in a week, through classes at the Big Nerd Ranch. (The iPhone class always fills quickly, but if you happen to be in the Silicon Valley, there's still room in "iPhone for commuters" in January.)
(Click the classes tab for a schedule of what and when, including Ruby, Android, and more.)
While I personally prefer the options above, there are of course some free online options as well. Scott Stevenson has put an enormous amount of effort into Cocoa/Objective-C tutorials:
And Stanford has offered classes both in Mac development and in iPhone development, taught by Apple engineers, and has posted the class materials online:
Lastly, it seems that developers who come to Mac/iPhone development with a Windows background try to avoid Interface Builder (IB) and instead build the UI in code. I understand why – IB doesn't lay out everything that's going on in a nice code listing – but I strongly recommend against this strategy.
Mac/iPhone development is all about minimizing code. The less code you have to write, the less you have to maintain, and the less chance there is for a mistake. IB is great for minimizing the code needed for the UI.
Your C/C# background will serve you well. You'll find that Objective-C seems quite odd at first, but I suspect you'll come to appreciate its strengths, and you'll pick it up very quickly. Unlike C++, it's actually pretty straightforward.
I would highly recommend getting Beginning iPhone Development: Exploring the iPhone SDK.
Another key thing to look into is getting the Clang Static Analyzer setup. It analyzes your code and can catch many common memory leaks as well as potential logic issues. Apple has contributed to this analyzer heavily and will be looking to integrate it into future releases of X-Code ;)
Tack a look at video tutorial of Lynda. Its good to take a look at that video and than start developing app in iPhone.
For good tutorial my favorite sites are Raywenderlich, EDUMobile, mobileTutPlus, Technotopia.
And for sample code i suggest GITHub, Cocoacontrols, Code4app.
And this is really helpful books, Programming in Objective-C 2.0 (2nd Edition), Beginning iPhone Development: Exploring the iPhone SDK,