Вы можете выделить и инициализировать их все в делегате приложения (я думаю, что они идут в методе applicationDidFinishLaunching, но я не на своем компьютере, чтобы убедиться, что это лучшее место). Возможно, вы захотите установить для их свойства isHidden значение YES (за исключением того, которое вы хотите показать первым).
Как только они загружены таким образом, контроллер представления приложений можно использовать для изменения скрытого свойства, когда вы хотите, чтобы представление отображалось или было скрыто.
Если для загрузки каждого вида действительно требуется 10 секунд, у вас будет начальное время загрузки при запуске приложения, которое в 10 секунд умножит количество загружаемых просмотров. Но как только они загружены, у вас больше не должно быть этой задержки.
Обновление:
Если вы хотите анимировать переходы из одного представления в другое, вам придется использовать больше, чем свойство isHidden (которое нельзя анимировать). Но вы можете разобраться с этим позже и начать с выделения и инициализации, как я описал выше.