I needed to learn how to develop for the iPhone since the projects I want to work on next will be games for the device. This task was somewhat daunting, given that I hadn't really even used a Mac before, let alone Objective-C or Xcode. Luckily, there are some really great resources out there that you should check out if you are also just getting started.
So far, the most invaluable resource for me has been the Stanford iTunes U lectures on iPhone development. After watching the lectures via iTunes, you can download all the course materials, including slides and assignments.
Of course, it's one thing to passively watch someone talk, but actually doing the assignments is another thing altogether: it's the most important part. I've done the first few assignments, including the HelloPoly app that lets users increase and decrease the number of sides on a polygon and get the name of the result (my version is shown below). Just now I have started the multi-part Paparazzi assignment, which is teaching me how to do tabbed view controllers and navigation hierarchies.
Although most of what I've needed has been contained in the Stanford notes and code examples, a few times I did Google key terms to find out more. The Apple reference guide has always been the first hit for me, and has provided good, detailed information. It often even includes screenshots showing applications that use a particular construct (such as this page for the UITabBarController).
I've really only just begun learning how to program iPhone apps, but I'm glad that I found the Stanford course to learn by; I feel as though I'm learning the programming practices used by most developers. It's nice to know I'm starting out on the right foot!