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 的这种形式。

相关文章
相关标签/搜索