2010-09-30 56 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属性的值。)