Убедиться, что объекты в перьях инициализированы перед applicationDidFinishLaunching - PullRequest
1 голос
/ 30 июня 2010

и спасибо, что взглянули на мою проблему.

У меня есть два контроллера представления в моем приложении, и у каждого есть свой собственный файл пера.экземпляр controller1 хранится в MainWindow.xib, а экземпляр controller 2 находится в Controller1.xib.

есть ли способ убедиться, что контроллер 2 инициализирован перед отправкой делегата приложения applicationDiDFinishLaunching?

фактическая настройка намного сложнее со многими другими контроллерами представления, поэтому я действительно не хочу помещать все в MainWindow.xib.плюс это уменьшит возможность повторного использования.

еще раз спасибо!

Ответы [ 2 ]

0 голосов
/ 01 июля 2010

Я считаю, applicationDidFinishLaunching - это абсолютная точка входа, в которой вы можете контролировать код. Это, пожалуй, самое раннее место для загрузки чего-либо.

0 голосов
/ 30 июня 2010

есть ли способ убедиться, что контроллер 2 инициализирован перед отправкой делегата приложения applicationDiDFinishLaunching?

Нет.Ну, может быть, да, но это не то, как должны работать контроллеры представления.Контроллер вида предназначен для того, чтобы отложить загрузку пера, что является довольно дорогой операцией до тех пор, пока представление не станет действительно необходимым.Так что, если вам нужно controller2 прямо при вызове applicationDidFinishLaunching, вы не должны помещать его в перо, которое контролируется другим контроллером представления.

На вашем месте я бы прекратил создание экземпляра представленияконтроллеры в nib-файле вообще, и просто создайте их внутри applicationDidFinishLaunching:, как в

-(void)applicationDidFinishLaunching:(UIApplication *)application
{
     ....
     self.controller2=[[Controller2 alloc] init... ];
     ....
}
...