Изменения в шаблоне Xcode 4.2 - UIApplication и MainWindow.xib

Предпосылки: До Xcode 4.2 новые проекты, созданные с использованием любого из шаблонов, содержали MainWindow.xib и, следовательно, передавали nil в качестве четвертого аргумента UIApplicationMain (). Начиная с Xcode 4.2, все шаблоны создают экземпляр делегата приложения, передавая строку класса в качестве четвертого аргумента, и не создают окно приложения в xib.

Выполнить эту настройку в 4.2 тривиально, и, конечно, она работает, как ожидалось: создайте xib, установив для параметра File's Owner значение UIApplication, и подключите делегат, укажите его в Info.plist, четвертый аргумент nil в main ().

Вопрос: Почему Apple поощряет создание экземпляра делегата приложения и построение UIWindow в коде сейчас, а не «старым способом»? Каковы преимущества?

Соображения: Я бы ожидал, что это новое поведение шаблона будет, если вы решите использовать раскадровку как способ управления пользовательским интерфейсом, но если вы снимете флажок «Использовать раскадровки», я бы ожидал старого прохода. nil-and-use-MainWindow.xib шаблон.

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

6
задан Community 23 May 2017 в 12:19
поделиться