Как лучше всего изучать программирование на iPhone с Java? - PullRequest
14 голосов
/ 24 апреля 2009

Я начал читать все доступные документы по этой теме. Быстрый обзор дал мне около 8000 (восемь тысяч) страниц формата DIN A4 PDF. Около 10% контента практически одинаковы по моим ощущениям. Прочитав уже 2 недели, я понял, что быстро забуду то, что читал неделю назад. Если я не начинаю что-то делать со знанием, это как утечка мозгов.

Какие у вас стратегии обучения?

Ответы [ 10 ]

16 голосов
/ 24 апреля 2009

Стэнфордский университет предлагает бесплатный курс ( здесь ), который можно загрузить с iTunes U. Он содержит как видео, так и файлы PDF, и после каждой лекции есть задания, которые можно использовать в качестве идей для разработки .

Исходя из мира Java, я думаю, что самым трудным для изучения является:

  • Управление памятью с подсчетом ссылок вместо GC
  • Узнайте, как воспользоваться преимуществами рассылки сообщений, чтобы получить максимальную отдачу от Objective-C

Форумы и документация, которые предоставляет Apple, также очень хороши и должны служить справочным материалом для всего, что вы делаете.

10 голосов
/ 24 апреля 2009

Вот что я сделал (я пришел из Java / C ++ фона):

Начиная с

  • Зарегистрируйтесь, чтобы стать разработчиком iPhone на http://developer.apple.com (это бесплатно)
  • Загрузите iPhone SDK (он содержит, помимо прочего, последнюю версию XCode и документацию по SDK, которые вы будете использовать очень часто при игре с SDK или при создании приложений).
  • Получить книгу Гиллегас . Эта книга очень хорошо учит основам какао. Я нашел хороший способ понять подсчет ссылок в Какао (сохранить, освободить, назначить и т. Д.)
  • Купить Оранжевая книга на iPhone Программирование. Это действительно хорошо. (Я купил книгу Эрики Садун раньше, но это не объясняет вещи с точки зрения начинающего)
  • Попробуйте программы.

Это должно помочь вам быстрее освоить базовые приложения. (Я еще не видел видео-лекции в Стэнфорде, но думаю, что это очень хороший способ начать)

Становимся лучше

  • Чтобы лучше понять концепцию Какао, я нашел лучший ресурс - Руководства по программированию Apple. Вы должны обязательно прочитать это. Они есть в почти каждой теме, от NSStrings до свойств Objective 2.0, модели памяти и т. Д. Вы найдете их в документации по XCode. (Если вы ищете ссылку на класс и т. Д., Вы найдете соответствующие руководства по программированию, перечисленные в левой боковой панели)
  • Пример кода Apple: вы снова найдете его в http://developer.apple.com. Вы можете использовать его и / или адаптировать.

Вы уже должны разрабатывать приложения. Если вы застряли или вам нужен совет, вот несколько дополнительных ресурсов:

Что делать, когда вы застряли

  • Список рассылки Cocoa-Dev (Сам по себе это не касается Cocoa, но я получил несколько очень хороших ответов)
  • Форумы Apple
  • IRC

(я не уверен, что приведенный выше список ресурсов достаточно хорош, но другие могут меня поправить)

4 голосов
/ 02 апреля 2011

Основы

Learn Objective-C

Learn UIKit (он же программирование для iPhone)

В отличие от большинства книг, руководство ранчо объясняет иерархию классов на ходу. В противном случае вы получите красивые приложения после ряда шагов, но не сможете летать в одиночку.

Мне нравится читать тему из нескольких книг одновременно. У меня есть почти все книги по программированию iPhone, и я также могу порекомендовать

Делай домашнее задание

Я предлагаю вам делать заметки и делать упражнения. Сконцентрируйтесь на небольших задачах. Например, создайте проект «Шаблон приложения на основе навигации» и попытайтесь понять его. Затем добавьте такие функции, как, создать ячейку, удалить ячейку, отсортировать их, щелкнуть ячейку, чтобы открыть второй экран. Такие вещи. Вы помните на 50% лучше, когда пишете резюме.

Из-за ограничений GCC Xcode не так совершенен, как Eclipse. Первое, что вы должны сделать, это активировать NSZombieEnabled в вашем проекте, чтобы получить лучшие сообщения об ошибках.

Вы найдете небольшие препятствия и совершите глупые ошибки. Очень полезно, чтобы рядом был кто-то, кто мог бы помочь вам. Если вы этого не сделаете, есть StackOverflow.

Продвинутые вещи

Базовые данные - это отображение Apple O / R для iPhone. Вы будете использовать его для любых вещей, связанных с базой данных.

Базовая графика / анимация лежит ниже UIKit. Чтобы выйти за рамки того, чему научит вас большинство книг по программированию для iPhone, вам нужно будет сделать свой собственный чертеж, чтобы добиться расширенной настройки пользовательского интерфейса.

WWDC-сессии - это всегда потрясающие вещи от сотрудников Apple, которые написали инфраструктуру UIKit. WWDC 2010 бесплатен для зарегистрированных разработчиков:

Некоторые блогов загружены полезными советами и рекомендациями:

Следуйте за другими программистами на Твиттере. Ходите на встречи NSCoder в своем городе, все желающие, даже если вы не программист.

4 голосов
/ 24 апреля 2009

Не просто думай об этом ..... делай это.

4 голосов
/ 24 апреля 2009

пишите код, когда вы читаете / склоняетесь к нему (например, привет мир, такие вещи). Это единственный способ сохранить вещи.

2 голосов
/ 24 апреля 2009

После того, как вы зарегистрировались в Apple, чтобы использовать iPhone SDK (его можно бесплатно скачивать и играть, вам нужно платить, только если вы хотите продавать свои приложения в App Store), вы получаете доступ к некоторым действительно замечательным ресурсы для разработчиков - форум, документация, примеры кода и т. д. Я настоятельно рекомендую использовать эти ресурсы в качестве хорошей отправной точки.

Загрузите несколько базовых примеров приложений от Apple, чтобы понять, как все сочетается. Разработка на iPhone определенно сильно отличается от других видов разработки, поэтому здорово иметь примеры для работы и использования для справки.

1 голос
/ 13 мая 2009

Когда я изучаю любой новый язык, я беру предоставленный пример кода и переписываю его с нуля. Таким образом, если я застрял в том, как что-то сделать, я могу перейти к предоставленному образцу в качестве справки. Я считаю, что переписывание примера кода помогает мне, особенно когда есть большие синтаксические различия.

Что касается iPhone, я бы уделил пристальное внимание управлению памятью. На сайте iPhone Dev есть отличный пример кода и документации.

1 голос
/ 24 апреля 2009

Я бы добавил кое-что к этим очень хорошим ответам - выбери проект и почти сразу начни работать над ним. Я учусь гораздо глубже, когда мне нужно найти ответ для своей реализации, чем я, когда читаю без каких-либо скрытых мотивов, кроме «обучения».

Вы можете опубликовать еще один вопрос с просьбой об идеях для вашего первого проекта.

1 голос
/ 24 апреля 2009

Этот документ является языком rosetta stone от C ++ / Java до Objective-C (там много всего для Java-людей):

http://ktd.club.fr/programmation/fichiers/cpp-objc-en.pdf

Кроме того, обратите внимание, что iPhone обладает большими возможностями по широким и глубоким базовым классам, как и Java. Старайтесь изучать их как можно лучше, и имейте в виду, что в Cocoa есть еще более глубокие уровни с вызовами на основе CF C, когда вам нужна большая гибкость.

Хорошо поймите модель управления памятью, и с ней легко иметь дело. Вот самое лучшее и простое описание, которое я читал о том, как обращаться с управлением памятью при использовании выходов Interface Builder:

http://blog.airsource.co.uk/index.php/2008/12/23/memory-management-and-nibs/

1 голос
/ 24 апреля 2009

Пока я не почувствую обстановку, в которой я нахожусь, я стараюсь пробовать примеры кода и / или учебные пособия ... но я никогда точно не следую им. Всегда изменяйте какое-либо значение, некоторые детали какого-либо метода реализации и наблюдайте за результатами, которые оно имеет.

Просто следуя указаниям, я никогда ничего не изучаю. Меняя вещи и видя их эффекты, я изучаю тонну.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...