viewDidLoad вызывается всякий раз, когда вызывается loadView. loadView вызывается всякий раз, когда представление запрашивается из UIViewController, и в настоящее время оно равно nil.
Если вы открываете UIViewController и свойство view имеет значение nil, вызывается loadView и, следовательно, viewDidLoad. Представление может быть нулевым, если оно никогда не загружалось или было выгружено, когда другой контроллер представления находился на экране. Возможно, он никогда не загрузился бы, если бы одновременно было выдвинуто несколько контроллеров представления.