1. 成员变量和属性的区别。ui
@interface User : NSObjectatom
{spa
int _height; // 成员变量,不会自动生成setter 和getter方法。.net
}3d
@property (strong, nonatomic) NSString *uid; // 属性。 会自动生成setter和getter方法。code
@property (assign, nonatomic) int age;orm
2. get
@property 和 @synthesize 编译器
声明一个setter getter 方法 @synthesize 实现setter getter 方法
在Xcode4.5及之后的版本中,能够省略@synthesize ,编译器会自动帮你加上getter 和 setter 方法的实现,而且默认会去访问_age这个成员变量,若是找不到_age这个成员变量,会自动生成一个叫作 _age的私有成员变量。it
若是加了
@synthesize age; 则能够使用age的成员变量。
3. 因为书写习惯,OC中定义成员变量的时候,习惯写 _age 的这种形式。