C# if you want to enjoy the experience.
Objective C if you want to hate the world and contemplate suicide. ( It somehow managed to combine the awfulness of C with the slowness of Smalltalk, terrible language ).
On the bright side, you can do 99.9% of the coding on iOS in C++ with just a small Objective C shim, so thankfully you dont need to touch this hateful hateful language. Additionally with Unity and Monotouch you can use C# on iOS ( and Android ), but sadly there is a pricetag involved.
If you already have a solid grasp of a procedural language like C++ or Java, try a functional one like Haskell or F#, it will open your mind to knew ways of programming and frankly functional programming is leaking it's way into all other languages anyways. Granted, nobody is actually hiring for these languages so I wouldn't recommend as a primary language, but as a learning exercise, its a great one.