This question is certainly a duplicate but there is some new information available in the last week - Apple have released the WWDC 2010 video sessions to just about everyone with a developer ID. The page you want to visit is WWDC 2010 Sessions - if you don't have an ID with Apple yet follow the link at the bottom of the page, "Join now for free".
Start with the easier videos numbered 1xx - you will understand enough at least to come back here and check out related questions and answers.
You don't have to pay to watch the videos but if you want to get code on an actual device and not just the simulator it costs $99.
Finally, set yourself a goal. "Learning programming on an iPhone" is a meta goal. Set yourself a little project that is roughly related to what you ultimately want to do, like implement a small puzzle game, or a twitter client, or maybe something to do with maps. Having some definite features to aim for will really help to motivate and guide your learning.