xcode: Где создается экземпляр dummyViewController в шаблоне по умолчанию «Приложение на основе представления»? - PullRequest
1 голос
/ 03 января 2011

Если я создаю новый проект в xcode, затем выбираю «View-based Application», шаблоны классов делегата и контроллера генерируются автоматически. Вот фрагмент из DummyAppDelegate.h

@class dummyViewController;

@interface dummyAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    dummyViewController *viewController;
}

Мой главный вопрос: где создается экземпляр экземпляра переменной viewController? Я не вижу кода для этого в сгенерированных файлах, поэтому какое-то соединение в InterfaceBuilder создает его автоматически?

Второй, менее важный вопрос: почему @class используется в приведенном выше коде, а не просто

#include "dummyViewController.h"

Любая помощь очень ценится, большое спасибо!

1 Ответ

0 голосов
/ 03 января 2011

Окно, контроллер представления, а также делегат приложения загружаются из MainWindow.xib. Любой объект, который вы помещаете в NIB-файл, создается после загрузки этого NIB-файла. И, указав MainWindow.nib в Info.plist приложения, вы указываете Cocoa (фактически, UIApplication экземпляр) автоматически загружать этот файл при запуске приложения.

Оператор @class ... является так называемым предварительным объявлением. Это считается хорошей практикой программирования, поскольку ее использование может сократить время компиляции (чем меньше файлов заголовков нужно импортировать, тем быстрее выполняется шаг компиляции).

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