OC的@property和@synthesize


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

相關文章
相關標籤/搜索