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 的這種形式。