2010-09-30 51 views
0

我試着去了解three20 ttnavigator示例代碼,並在MenuController.h文件,其計算方法如下:objC three20例如ttnavigator菜單控制頁面實例聲明

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

@interface MenuController : TTTableViewController { 
    MenuPage _page; 
} 

@property(nonatomic) MenuPage page; 

@end

我不不明白爲什麼有一個MenuPage _page被聲明爲實例變量,而在@property部分中聲明瞭另一個變量MenuPage頁面。在MenuController.m文件中,MenuPage頁面被合成,而不是_page。

這合法嗎?

我知道它可行,因爲它編譯了,但我不明白爲什麼我們不需要在界面中設置@property (nonatomic, retain) MenuPage _page 或聲明MenuPage page

謝謝!

+0

謝謝,但是爲什麼我們要將伊娃與屬性分開? – Jon 2010-09-30 20:25:52

回答

0

這條線MenuController.m

@synthesize page = _page; 

連接屬性伊娃。 (它告訴編譯器使用012arivar來存儲page屬性的值。)