0

我试着理解了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 page。在MenuController.m 文件中,合成的是MenuPage 页面,而不是_page。

这合法吗?

我知道它有效,因为它可以编译,但我不明白为什么我们不需要在界面中设置@property (nonatomic, retain) MenuPage _page 或声明。MenuPage page

谢谢!

4

1 回答 1

0

MenuController.m 中的这一行

@synthesize page = _page;

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

于 2010-09-30T19:31:56.323 回答