objC three20示例ttnavigator菜单控制器页面实例声明

时间:2010-09-30 16:05:08

标签: objective-c three20 instance-variables ttnavigator

我试图理解three20 ttnavigator示例代码,在MenuController.h文件中,它如下:

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

谢谢!

1 个答案:

答案 0 :(得分:0)

MenuController.m中的这一行

@synthesize page = _page;

将财产连接到ivar。 (它告诉编译器使用_page ivar来存储page属性的值。)