UIViewКонтроллеры ленивы. Они загружаются только по запросу и автоматически выгружаются при нехватке памяти (и их легко выгрузить вручную, вызвав self.view=nil
).
Здесь «загрузка» означает «читать NIB» или «строить программно». ViewControllers на самом деле все равно. Программная сборка может быть немного быстрее, поскольку вам не нужно нажимать на диск, но это редко является узким местом, поскольку вы одновременно отображаете только один контроллер представления.
Что делать, это скорее стиль, чем производительность (за исключением UITableViewCells, в большинстве случаев есть причины, по которым вам нужно строить программно).
Начните с изучения Руководства по программированию View Controller . Он покажет вам, как iPhone собирается это сделать.
К замечанию eJames о том, что NIB являются файлами XML, это может немного вводить в заблуждение. NIB - это двоичные файлы, сгенерированные путем компиляции файлов XIB в формате XML. Я бы сделал профилирование на телефоне, прежде чем предположить, что время загрузки NIB на самом деле является проблемой. Хотя я по натуре склонен к программной компоновке, на практике я обнаружил, что NIB значительно упрощают многие вопросы пользовательского интерфейса на практике, и я всегда возвращаюсь к ним для крупных проектов.