2013-11-18 2 views
-2

Итак, я только начинаю разработку приложения для iPhone, и мне сказали не использовать Storyboard. Я читал, что альтернатива использует xib-файлы - может ли кто-нибудь рекомендовать хорошие учебники с использованием xib-файлов?Какая альтернатива использованию раскадровки?

Благодаря

+0

Говорил ли вам, чтобы вы не использовали раскадровки, или вам фактически запрещено использовать их? Если да, то почему? – rdelmar

+0

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

+0

Используйте xibs, по одному на UIViewController, или просто создайте пользовательский интерфейс в коде. Либо это сработает. Оба имеют преимущества/недостатки. Если одновременно несколько пользователей работают над пользовательским интерфейсом, то, безусловно, лучше использовать xibs или raw code, чем раскадровки. – EricS

ответ

1

Вы можете использовать раскадровки (.storyboard файлы), использовать старый интерфейс строитель (.xib файлы) или сделать все программно.

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

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

4

Раскадровки являются относительно новой особенностью Xcode и Cocoa. Прибыл с Xcode 4.2.

enter image description here

В течение многих десятилетий (см history), NeXTSTEP/OpenStep/Cocoa программисты строят отдельные NIB/XIb файлы, загружать их с ViewControllers. Когда пользователь делает что-то, чтобы заставить приложение перейти к следующему nib/xib, текущий контроллер представления создает экземпляр другого контроллера представления, который загружает нужный nib/xib. Затем этот новый контроллер отображается на экране.

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

В iOS мы часто получаем новый контроллер вида на экране, нажимая его на стек UINavigationController. Кнопка Назад кнопка автоматически закрывает текущий контроллер и возвращается к предыдущей.

Есть все за и против Раскадровки. Для относительно простых приложений с определенным потоком представлений они могут быть удобными.

Но есть причины не использовать их. Одна из причин заключается в том, что переход от просмотра к виду несколько произволен и нелегко раскладывается в Раскадке. Еще одна причина заключается в том, что некоторые виды легче выполнять программно «на лету», не определяя ни nib/xib. Обычно такие представления имеют только один или несколько компонентов. UIListView и UIWebView представляют собой два примера отдельных виджетов, которые могут заполнять экран и поэтому могут быть более удобны для создания в коде.

Учебное пособие и книги изобилуют. Некоторые показывают как Раскадровка, так и нестраничные способы делать что-то. Найдите более старые iOS 5 или 6 книг, чтобы увидеть больше способов, не связанных с раскадрой.

Некоторые новые статьи и документы Apple могут подтолкнуть Раскадровку, потому что это новая новая вещь. Я предлагаю принять более взвешенный подход. Вместо того, чтобы говорить, что раскадровки являются величайшей вещью или говорят, что раскадровка ужасна, считайте их еще одним инструментом. Иногда вы можете использовать их, иногда они не соответствуют вашим потребностям оптимально. Также вы можете смешивать их, делать часть своего приложения с помощью раскадровки и без нее.

+0

Отличный ответ, но я бы не назвал раскадровки «очень новыми». Они вышли два года назад в том же выпуске, что и ARC. –

+1

@BrianNickel Ну, с точки зрения истории Xcode и XIB они очень новые;). – borrrden

+0

@borrrden С точки зрения разработки iOS они были навсегда. :) Для меня «очень новый» вызывает тонус непроверенного, непроверенного. С тех пор прошло два года и два крупных релиза iOS, так что, надеюсь, это уже не так. Я думаю, что цель заявления состояла в том, чтобы сообщить, что многие разработчики долгое время делают это по-разному, делая их осторожными и упрямыми. Вероятно, поэтому ФП слышал, чтобы не использовать их. Я думаю, что они, как говорится в предложении, отвлекают от этого сообщения. –

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