Раскадровки являются относительно новой особенностью Xcode и Cocoa. Прибыл с Xcode 4.2.
В течение многих десятилетий (см 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 могут подтолкнуть Раскадровку, потому что это новая новая вещь. Я предлагаю принять более взвешенный подход. Вместо того, чтобы говорить, что раскадровки являются величайшей вещью или говорят, что раскадровка ужасна, считайте их еще одним инструментом. Иногда вы можете использовать их, иногда они не соответствуют вашим потребностям оптимально. Также вы можете смешивать их, делать часть своего приложения с помощью раскадровки и без нее.
Говорил ли вам, чтобы вы не использовали раскадровки, или вам фактически запрещено использовать их? Если да, то почему? – rdelmar
Мне запрещено использовать их, потому что несколько человек будут работать над этим приложением позже, и я думаю, что раскадровки могут сделать это сложнее. Я также думаю, что мы хотим большего контроля над пользовательским интерфейсом. И я думаю, мы сумасшедшие. – praks5432
Используйте xibs, по одному на UIViewController, или просто создайте пользовательский интерфейс в коде. Либо это сработает. Оба имеют преимущества/недостатки. Если одновременно несколько пользователей работают над пользовательским интерфейсом, то, безусловно, лучше использовать xibs или raw code, чем раскадровки. – EricS