Короткий ответ: initWithCoder:
называется.
Более длинный ответ (from apple's docs on UIViewController
):
Если ваше приложение использует раскадровку, чтобы определить контроллер представления и его связанных точки зрения, ваше приложение никогда не инициализирует объекты этого класса непосредственно. Вместо этого диспетчеры представлений либо создаются с помощью раскадровки либо автоматически с помощью iOS, когда запускается segue, либо программно, когда ваше приложение вызывает метод создания экземпляра раскадровки метод instantiateViewControllerWithIdentifier :. При создании экземпляра диспетчера представлений из раскадровки iOS инициализирует контроллер нового вида , вызывая его метод initWithCoder:. iOS автоматически устанавливает свойство nibName в файл nib, хранящийся внутри раскадровки.