2011-03-10 5 views
0

Недавно я работал в проекте ipad. Я не вижу файлов nib во всем проекте. Существует ли конкретная причина для таких стандартов? Мне очень трудно следовать этому проекту.Почему существует несколько проектов без файла nib

+0

У меня есть противоположная проблема ... когда проекты имеют все объекты в IB ... поэтому я начал использовать только кодовые объекты и избегать IB ... и позвольте мне сказать: было очень полезно понять (для объектно-ориентированного, как я), как работают iPhone проекты ... – meronix

ответ

6

Я не уверен, что считаю это «стандартным». Некоторые разработчики предпочитают кодировать все свои представления, а не использовать Interface Builder. Первоначальные релизы IB были немного шелушатся, и люди избегали этого из-за этого. Я действительно не вижу причин, чтобы избежать использования IB в настоящее время, если вы не выполняете полностью пользовательский интерфейс или игру. В случае пользовательского интерфейса может быть проще создать его в коде по сравнению с попыткой сгибать элементы IB по вашему желанию.

0

Согласовано, IB довольно стабильно и намного более признакам, чем раньше. Хотя iirc, использующий IB, добавляет больше веса в проект, чем если бы все было сделано с помощью кода.

1

a наконечник, особенно если он локализован, ломается DRY.

Инициализация вне вашего контроля при использовании наконечника.

Повторное использование кода и программ сложнее. рассмотрите библиотеки и несколько приложений.

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

улучшенная производительность (там, где это важно).

программа безопасности. IB используется для поддержки плагинов/аддонов в osx ... они были просто удалены.

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

для долгосрочного и крупномасштабного развития, имеет смысл написать его программно, тогда как IB действительно удобен для прототипирования.

Смежные вопросы