Цель C, iOS: не вызывать alloc или init для подпредставления - PullRequest
1 голос
/ 20 июня 2011

В настоящее время я запускаю следующий код как часть простой тестовой программы для iPad. Я объявил "viewController" как свойство. Во всех других примерах, связанных с подпредставлениями, я должен был выделить и инициализировать viewController, но здесь он работает нормально. Есть идеи?

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    // Why does this work without allocating or initializing viewController?
    [self.window addSubview:viewController.view];
    [self.window makeKeyAndVisible];

    return YES;
}

1 Ответ

2 голосов
/ 21 июня 2011

Это похоже на типичный стандартный код, который Apple поставляет с шаблонами iOS. В этих проектах viewController определяется в MainWindow NIB. Этот NIB загружается очень рано в процессе запуска приложения. ViewController выделяется в процессе загрузки NIB, и затем вызывается initWithNibName:bundle:. Затем процесс загрузки NIB соединяет инициализированный объект с IBOutlet контроллера представления делегата приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...