Если у вас есть фон Какао / Objective-C, то вы можете перейти к разработке для iPhone с помощью «Начала разработки для iPhone» Дэйва Марка и Джеффа Ламарша:
http://www.amazon.com/dp/1430216263/
За ним очень легко следовать, но авторы предполагают некоторые предварительные знания Objective-C (как указано на задней обложке), поэтому я бы рекомендовал начать с первых пяти или шести глав «Программирование какао для Mac OS X» Аароном Хиллегасом, как уже отмечалось другими.
http://www.amazon.com/dp/0321503619/
Аарон использует и преподает Objective-C и фреймворки, теперь связанные с Какао, с тех пор, как он работал в NeXT, и это видно. Материал действительно очень хороший.
Хотя основная часть методов разработки в равной степени относится к Mac и iPhone, некоторые методы применяются только к Mac (например, сборка мусора, привязки, базовые данные), а некоторые применяются только к iPhone (например, несколько целей). за одно действие).
Если вы хотите быстро освоить разработку для iPhone и готовы инвестировать немного денег, команда Аарона также может научить вас всему, что вам нужно знать, за неделю, на уроках на Ранчо Большого ботаника. (Класс iPhone всегда заполняется быстро, но если вы оказались в Силиконовой долине, в январе в «iPhone для пассажиров» еще есть место.)
http://www.bignerdranch.com/
(Перейдите на вкладку классы , чтобы узнать, что и когда, включая Ruby, Android и т. Д.)
Хотя я лично предпочитаю варианты выше, конечно, есть и бесплатные онлайн-опции. Скотт Стивенсон приложил огромные усилия к урокам Cocoa / Objective-C:
http://www.cocoadevcentral.com/
А Стэнфорд предложил классы как для разработки на Mac, так и для разработки под iPhone для преподавателей Apple, и разместил материалы для занятий в Интернете:
Mac: http://www.stanford.edu/class/cs193e/
iPhone: http://www.stanford.edu/class/cs193p/
Наконец, кажется, что разработчики, которые приходят к разработке для Mac / iPhone с фоном Windows, стараются избегать Interface Builder (IB) и вместо этого создают пользовательский интерфейс в коде. Я понимаю, почему - IB не выкладывает все, что происходит, в хороший список кода - но я настоятельно рекомендую против этой стратегии.
Разработка Mac / iPhone - это минимизация кода. Чем меньше кода вы должны написать, тем меньше вам нужно поддерживать и тем меньше шансов на ошибку. IB отлично подходит для минимизации кода, необходимого для пользовательского интерфейса.
Ваш C / C # фон послужит вам хорошо. Сначала вы обнаружите, что Objective-C кажется довольно странным, но я подозреваю, что вы оцените его сильные стороны и очень быстро его поднимете. В отличие от C ++, это на самом деле довольно просто.