Файлы NIB / XIB с программированием Какао - быстрое время разработки? - PullRequest
5 голосов
/ 13 марта 2009

Я уже некоторое время программирую с помощью iPhone SDK.

Я не использовал Interface Builder. Это меня немного пугает. Я знаю, что на самом деле я могу «бороться с рамками», но я не вижу этого таким образом.

Мне очень легко просто создать экземпляр моего UITabBarController в моем делегате приложения, создать экземпляр UINavigationController, а затем нажать и выдвинуть контроллеры представления на ходу.

Естественно, я не обладаю обширными знаниями о том, как создавать приложения с файлами XIB, потому что я никогда не делал этого, однако я знаю его суть, построив некоторые приложения Mac в Какао с использованием NIB. Так что я не совсем невежественен.

Мой вопрос заключается в том, увеличивается ли время разработки при выборе размещения UITableViewControllers и UIViewControllers с использованием XIB, а не их программной реализации и последующей настройки ivars.

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

Или я упускаю какой-то другой важный момент?

Спасибо!

Ответы [ 5 ]

2 голосов
/ 13 марта 2009

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

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

2 голосов
/ 13 марта 2009

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

Кроме того, вы можете передать дизайн разработчикам и позволить им настроить пользовательский интерфейс.

2 голосов
/ 13 марта 2009

В конце концов они оба выполняют одно и то же. Вы должны использовать любой из них в зависимости от обстоятельств. Большую часть времени на написание кода для создания и позиционирования представлений, и особенно его сопровождения в будущем, займет гораздо больше времени, чем при использовании IB. Однако в простом приложении для iPhone это может быть не так, и вам не помешало бы создавать все в коде. По сути, вы должны знать, как сделать то и другое, и выбрать путь, который включает в себя ясный код и быструю разработку.

1 голос
/ 13 марта 2009

Не беспокойтесь слишком сильно, IMO Interface Builder тоже немного переоценен.

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

0 голосов
/ 14 марта 2009

Для целей, которые вы описываете, просто делать что-то в коде хорошо, и, возможно, даже немного легче понять.

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

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