Persönlich würde ich von Objective-C als erste Programmiersprache abraten, da es sich meiner Erfahrung nach nicht gerade um eine "komfortable" Programmiersprache handelt (gemeint in dem selben Sinne wie auch C und C++ das meiner Meinung nach nicht sind, Objective-C aber ganz besonders). Das Problem an der Sache ist, mit deiner ersten Programmiersprache lernst du gleichzeitig auch das programmieren, was etwas gänzlich anderes ist. Du hast also diese doppelte Belastung und eine Sprache die nicht trivial zu erlernen ist. Didaktisch ist das bedenklich, aber möglich ist natürlich alles. Es erfordert aber Durchhaltevermögen.
Das beste Buch das ich zum Thema Objective-C kenne ist "Programming in Objective-C" von Stephen G. Kochan. Es liefert einen soliden Einstieg und das Verständnis für die Sprache das du brauchen wirst um wirklich sinnvoll mit den Apple Frameworks zu arbeiten. Was dieses Buch nicht leistet ist dich zum Profi mit Cocoa / Cocoa Touch zu machen - das ist ein Schritt den du danach selber tun musst (mit einem anderen Buch, oder der Dokumentation von Apple). Es hat einen eher klassischen Schritt-für-Schritt Ansatz, nicht wie zB die Head First Bücher von O'Reilly. Cocoa Touch wird also erst am Schluss behandelt, indem ein iOS Taschenrechner programmiert wird. Ich würde aber nicht andersherum anfangen, wenn du sofort im iOS SDK rumklickst macht das zwar mehr Spaß, aber viel zustandebringen wirst du ohne die Grundlagen nicht.
Ansonsten ist die Apple Doku wirklich gut - das hier wäre zB ein guter Startpunkt:
http://developer.apple.com/library/...roduction.html#//apple_ref/doc/uid/TP40012262
Du wirst dich übrigens von der Vorstellung lösen müssen dass du ohne C auskommst - Objective-C ist im Prinzip C mit einem Smalltalk-ähnlichen OOP-Aufbau darauf plus Cocoa / Cocoa Touch als Framework. Früher oder später musst du auf die C-Ebene runter. Das heißt nicht dass du vorher C lernen musst, das heißt nur dass du ganz automatisch C lernen wirst wenn du Objective-C lernst.
Mit was man am Besten anfängt ist natürlich ein ewiger Streitpunkt, Python wird oft empfohlen (und das macht auch Sinn, wegen des Live-Interpreters, wie ihn zB auch Ruby hat). Java wäre auch eine Möglichkeit. C# wäre mein persönlicher Vorschlag, auch wenn man damit erstmal etwas auf das Microsoft Ökosystem festgenagelt ist, Mono mal aussen vor gelassen.