Любые предложения о том, как подойти к изучению Cocoa Touch API? - PullRequest
3 голосов
/ 02 мая 2011

Я опытный программист (C, немного C ++, PHP, JavaScript), который занимается разработкой для iOS. Я должен сказать, что, хотя я получаю Objective-C без проблем, API-интерфейс Cocoa Touch является массивным и довольно сложным. Вещи, которые кажутся простыми, например, добавление аннотированной булавки на карту, требуют нескольких шагов, которые я бы никогда не понял, не прочитав пример в книге.

Я ищу предложения о том, как заняться изучением этого бегемота API. Допустим, я хотел выяснить, как открыть URL-адрес, извлечь из него данные XML и проанализировать его. Как в мире я бы даже знал, с чего начать (просто пример, на самом деле не отвечаю)? У меня есть Xcode 4, поэтому я думаю, что документация должна сделать это относительно простым для меня. Я просто новичок в этом, поэтому я не знаю, с чего начать, поэтому любой совет будет звездным. Спасибо.

Ответы [ 3 ]

3 голосов
/ 02 мая 2011

Концентрируйтесь на основах.Убедитесь, что вы прочитали и полностью поняли Руководство по программированию управления памятью .Если вы прочитаете SO некоторое время, то обнаружите, что большой процент вопросов, связанных с iOS, пришел от людей, которые явно не читали этот документ.Самое смешное, что на самом деле все не так сложно - ответы на вопросы о памяти здесь почти всегда одинаковы, и почти всегда на них отвечают эта страница .

Узнайте о классах, которыестроительные блоки для приложений iOS.Знайте, что делают UIResponder, UIView, UIControl и UIViewController, и как вы можете создавать их подклассы, чтобы делать то, что вы хотите.Есть документы, которые объясняют все важные идеи, такие как представления и представления контроллеров .Прочтите их: понимание того, где найти информацию в документации, поможет вам работать намного быстрее.Контроллеры представлений дают приложению его видимую структуру, поэтому важно понимать, как ваши собственные объекты контроллеров представлений управляются контроллерами представления контейнеров, такими как контроллеры навигации и контроллеры панели вкладок.

Понимание также важных шаблонов: MVC являетсяфилософия, которая будет направлять вас;делегирование используется повсеместно;цепь ответственности используется для обработки событий.Как только вы получите шаблоны, синтаксический анализ XML-файла, предоставление данных для таблицы и удаление булавок на карте, все начинают иметь смысл одинаково.

0 голосов
/ 02 мая 2011
0 голосов
/ 02 мая 2011

Лучший способ научиться этому эффективно - писать с ним код.Это требует больших усилий, прежде всего потому, что API-приложения Apple требуют другого мышления, нежели большинство других API-интерфейсов, к которым вы, вероятно, привыкли, особенно если они исходят из PHP или JavaScript.

Первое препятствие, которое вы должны преодолеть, это выЯ должен принять тот факт, что многие вещи, которые вы в противном случае воспринимаете как должное, требуют большого количества кода, который вы должны написать.Несколько примеров для пояснения:

  • Если вы переходите с PHP, то вы привыкли к SimpleXML, для которого требуется всего несколько строк кода.В iOS есть парсер SAX , который требует гораздо больших усилий и сложности в использовании.
  • Для индикатора активности есть что-то похожее на анимированное изображение , которое вы можете использовать, но вы должны добавить свою собственную метку и код, чтобы убедиться, что вы блокируете события касания пользователя во время вращениябежит.
  • Если вы хотите получить красивую цветную, не круглую, прямоугольную, белую кнопку, которая не является стандартной, вы должны написать ее самостоятельно.Это не сложно, но это определенно не похоже на создание CSS-файла.

Так что большинство (казалось бы) простых задач требует гораздо больше усилий, чем вы, возможно, привыкли.

Следующее препятствиеэто мысленно оторваться от Interface Builder.Поначалу IB может показаться заманчивым и заманчивым, но в любом случае часто приходится писать GUI более или менее в коде.Например: UIPopovers, панели навигации, переходы, таблицы и пользовательские панели инструментов и т. Д.

Еще одним препятствием является UINavigationBar.Когда вы действительно понимаете, как это работает, вы прошли долгий путь!Я не говорю, что это плохо, просто это сильно отличается от того, к чему вы, вероятно, привыкли.

Не стесняйтесь задавать вопросы здесь и пользуйтесь гуглом.Просто чтение книг об этом не поможет.

Пожалуйста, не критикуйте платформу.Как раз наоборот, я лично очень люблю это и понимаю причину, почему это работает так, как работает (большую часть времени).Просто многие программисты, начинающие с разработки под iOS, очень надеются на то, как легко начать работать с ней, и в конечном итоге обожжены или разочарованы.

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