Приложение на основе навигации в XCode не генерирует окно автоматически и навигационный контроллер - PullRequest
1 голос
/ 24 апреля 2011

В примере кода Apple AppDelegate содержит window и navigationController в качестве переменной экземпляра. (http://developer.apple.com/library/ios/#samplecode/TableViewSuite/Listings/1_SimpleTableView_Classes_SimpleTableViewAppDelegate_h.html%23//apple_ref/doc/uid/DTS40007318-1_SimpleTableView_Classes_SimpleTableViewAppDelegate_h-DontLinkElementID_5)

@interface SimpleTableViewAppDelegate : NSObject <UIApplicationDelegate> {

    UIWindow *window;
    UINavigationController *navigationController;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) UINavigationController *navigationController;

Код, сгенерированный XCode4, так же прост, как и

@interface SimpleTableViewAppDelegate : NSObject <UIApplicationDelegate> {
}
  1. Почему переменные двух экземпляров могут быть пропущены?
  2. Почему в качестве IBOutlet должно быть объявлено только * окно, а не * navigationController?

Спасибо.

1 Ответ

0 голосов
/ 24 апреля 2011

Компилятор LLVM, используемый Xcode 4, может автоматически генерировать переменные экземпляра для синтезированных свойств.Когда свойство объявляется и синтезируется, компилятор автоматически генерирует соответствующий ivar.Это отличная функция, поскольку она не только экономит набор текста, но и делает внешний интерфейс класса более чистым.

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