Купив обе книги по вашему вопросу, я рекомендую Cocoa Programming для Mac OS X как быстрый способ выучить язык и структуру Cocoa, и, возможно, это самый быстрый способ начать создавать реальные приложения в Cocoa. Я очень рекомендую это. Программирование в Objective-C 2.0 - отличный справочник, но если вы уже знаете C, мало что научит вас, что вы не можете взять из другой книги. Однако, если вам когда-нибудь понадобится список всех зарезервированных ключевых слов в Objective-C, к этой книге можно обратиться.
Весь пользовательский интерфейс может создаваться программно, но вам будет гораздо проще использовать Interface Builder, который поставляется с XCode, для разметки пользовательского интерфейса. Вы получите гораздо меньше кода. С помощью привязок вы можете даже исключить код, который не имеет прямого отношения к разметке интерфейса. Подробности в книге «Программирование какао для Mac OS X».
Одна большая вещь, которую мне не хватает в Java, - это API-интерфейс коллекций. В Какао вы просто получаете NSSet, NSArray и NSDictionary, и нет аналога интерфейсу Comparable. Эти классы также являются неизменяемыми, но имеют изменяемые версии, такие как NSMutableArray.
На самом деле я не играл с сборщиком мусора в Objective-C 2.0. В предыдущих версиях Objective-C управление памятью осуществлялось методами retain, release и autorelease. Объекты были созданы с сохранением счетчика 1. Сохранение увеличенного счетчика, освобождение уменьшенного и автоматическое освобождение объектов немного сложнее. Опять же, книга по программированию какао объясняет это хорошо. Сборка мусора является опцией, и если она включена, методы retain, release и autorelease ничего не делают. Однако, если вы пишете библиотеку или фреймворк для использования другими, вы должны запрограммировать его так, как будто сборка мусора отключена. Таким образом, приложения могут использовать его независимо от того, включена ли сборка мусора.
Что касается веб-ресурсов, http://cocoadevcentral.com/ - отличный сайт с обучающими пособиями для начинающих. CocoaDev Wiki на http://www.cocoadev.com/ содержит подробную информацию по многим темам, и вы обычно можете найти некоторую полезную информацию и людей в списке рассылки cocoa-dev http://lists.apple.com/mailman/listinfo/cocoa-dev
Разработка iPhone немного отличается, а детали ограничены NDA. Тем не менее, если вы получите одобрение Apple на доступ к центру разработчиков iPhone, Apple предоставит несколько отличных видеообзоров о различиях, которые указывают на документацию, необходимую для перехода от программирования Mac OS X к iPhone OS X.