Пример objC three20 Объявление экземпляра страницы контроллера меню ttnavigator - PullRequest
0 голосов
/ 30 сентября 2010

Я попытался понять пример кода 320 ttnavigator, и в файле MenuController.h он выглядит следующим образом:

typedef enum {
  MenuPageNone,
  MenuPageBreakfast,
  MenuPageLunch,
  MenuPageDinner,
  MenuPageDessert,
  MenuPageAbout,
} MenuPage;

@interface MenuController : TTTableViewController {
  MenuPage _page;
}

@property(nonatomic) MenuPage page;

@ end

Я не понимаю, почему тамявляется страницей MenuPage, объявленной как переменная экземпляра, в то время как в разделе @property объявлена ​​другая переменная страница MenuPage.В файле MenuController.m синтезируется страница MenuPage, а не _page.

Это законно?

Я знаю, что это работает, потому что это компилируется, но я не понимаю, почему мы неВам нужно установить @property (nonatomic, retain) MenuPage _page или объявить MenuPage page в интерфейсе.

Спасибо!

1 Ответ

0 голосов
/ 30 сентября 2010

Эта строка в MenuController.m

@synthesize page = _page;

соединяет свойство с ivar.(Он указывает компилятору использовать _page ivar для хранения значения свойства page.)

...