жизненный цикл приложения для iPhone - PullRequest
2 голосов
/ 14 марта 2010

InterfaceBuilder генерирует этот метод для меня в fooAppDelegate.m:

- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    // Override point for customization after app launch    

    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];
}

IB также помещает UIWindow *window; в fooAppDelegate.h и @synthesize window; в fooAppDelegate.m, и соответственно для navigationController. IB генерирует код для выпуска window и navigationController в dealloc.

Я не вижу ни одного кода, который выделяет и инициализирует window и navigationController. Интересно, где это происходит.

Ари.

1 Ответ

6 голосов
/ 14 марта 2010

Внутри файла XIB есть код, который создает экземпляры объектов, которые в нем хранятся.

Именно поэтому экземпляр UIWindow является IBOutlet. Все, что является IBOutlet, обычно создается из файла XIB.

Interface Builder НЕ является генератором кода, это фабрика живых объектов.

"Интерфейсный Разработчик сохраняет интерфейс приложения в виде пакета, который содержит объекты интерфейса и связи, используемые в приложении. Эти объекты архивируются (процесс, также известный как сериализация или сортировка в других контекстах) в любой файл XML или файл списка свойств в стиле NeXT с расширением .nib. При запуске приложения надлежащие объекты NIB разархивируются, подключаются к двоичному файлу своего приложения-владельца и пробуждаются "

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