Почему Apple рекомендует создавать модальные навигационные контроллеры программно? - PullRequest
9 голосов
/ 19 сентября 2010

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

1 Ответ

6 голосов
/ 19 сентября 2010

Хотя я не знаю точной причины, это мой выстрел:

При программном создании контроллера вам требуется всего несколько строк кода, на самом деле, в большинстве случаев это может бытьна самом деле мало: создание, настройка корневого контроллера, представление и выпуск.Альтернативы быстро перечисляются:

  • Вы можете держать контроллер вида как выход в нижележащем контроллере.Затем, однако, он будет постоянно находиться в памяти.Это не только пустая трата памяти, но это также не имеет особого смысла, пока в этом нет необходимости.
  • Вы можете создать экземпляр этого контроллера из файла nib.Затем, однако, вам придется сделать много вещей, которые вы бы сделали в любом случае:
    • Создайте контроллер в коде с alloc, init
    • Установите некоторые свойства - либо впользовательский класс, перо или несколько строк кода
    • Представьте его
    • Отпустите его

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

Только мои мысли ...

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