есть ли способ убедиться, что контроллер 2 инициализирован перед отправкой делегата приложения applicationDiDFinishLaunching
?
Нет.Ну, может быть, да, но это не то, как должны работать контроллеры представления.Контроллер вида предназначен для того, чтобы отложить загрузку пера, что является довольно дорогой операцией до тех пор, пока представление не станет действительно необходимым.Так что, если вам нужно controller2
прямо при вызове applicationDidFinishLaunching
, вы не должны помещать его в перо, которое контролируется другим контроллером представления.
На вашем месте я бы прекратил создание экземпляра представленияконтроллеры в nib-файле вообще, и просто создайте их внутри applicationDidFinishLaunching:
, как в
-(void)applicationDidFinishLaunching:(UIApplication *)application
{
....
self.controller2=[[Controller2 alloc] init... ];
....
}