Например:
- Создайте новый UIVC, используя initWithNibName, используя "nib-v1"
- Покажите это, например, используя [(UINavigationController) nav pushViewController: myVC]
- Измените NIB, который использует myVC, на "nib-v2"
Насколько я вижу, это "правильный" подход к разработке приложений для многих приложений, когда вы просматриваете информацию, когда вам нужно два слегка отличающихся экрана интерфейса для отображаемой информации.
Например, большинство ваших страниц являются текстовыми, но на некоторых из них также есть изображение (вспомните о программе чтения RSS, где некоторые записи RSS имеют текст + изображение, а некоторые - только текст).
Я имел дело с этим ранее, имея один NIB-файл со вторым, невидимым, именованным экземпляром UIView, который я наложил поверх первого и включал / выключал в зависимости от контекста, используя «скрытый» флаг.
Но это явно не так и тратит память.
Однако я не вижу очевидного способа «перезагрузить» представление из файла NIB. Я предполагаю, что хочу как-то воспроизвести магию, которую делает initWithNibName?
Я подозреваю, что это возможно, но я уверен, что если вы сделаете это "неправильным образом", приложение просто ужасно рухнет.