Во-первых, вы уверены, что вам действительно нужно делать то, что вы делаете с этой иерархией UIViewControllers? Почему ваш MainViewController не может работать с представлениями, за которые отвечают ваши subVC1
и subVC2
?
Во-вторых, ваш viewWillAppear / viewDidAppear будет вызван, когда вы напишите код для вызова их из вашего MainViewController. Не зная ничего о вашем дизайне, на самом деле не возможно посоветовать, когда вам следует вызывать их, но если представления субконтроллеров должны быть всегда видимыми, когда видно «основное» представление, то, вероятно, имеет смысл вызывать их из методов viewWillAppear / viewDidAppear вашего mainViewController
.