Я попытался понять пример кода three20 ttnavigator, и в файле MenuController.h он выглядит следующим образом:
typedef enum {
MenuPageNone,
MenuPageBreakfast,
MenuPageLunch,
MenuPageDinner,
MenuPageDessert,
MenuPageAbout,
} MenuPage;
@interface MenuController : TTTableViewController {
MenuPage _page;
}
@property(nonatomic) MenuPage page;
@конец
Я не понимаю, почему существует страница MenuPage _page, объявленная как переменная экземпляра, в то время как в разделе @property объявлена другая переменная страница MenuPage. В файле MenuController.m синтезируется страница MenuPage, а не _page.
Это законно?
Я знаю, что это работает, потому что компилируется, но я не понимаю, почему нам не нужно устанавливать @property (nonatomic, retain) MenuPage _page
или объявлять MenuPage page
в интерфейсе.
Спасибо!