成员变量:
定义了一个类的全局变量(不直接被外部访问,只能通过方法读或写)
属性:
提供了getter和setter方法的成员变量(直接能被外部访问)
由此而知:当在OC里面默认申明一个属性,如果没有关联相应的成员变量会默认生成一个以下划线开头+属性名的成员变量
@property声明setter getter方法
@synthesize定义setter getter方法
在Xcode4.5及以后的版本中,可以省略@synthesize编译器会自动帮你加上setter getter方法,并且默认会去访问_age这个成员变量,如果找不到_age这个成员变量,会自动生成一个叫做 _age的私有成员变量。在.m文件中同时实现getter和setter方法时候需要@synthesize age = _age或者在.h文件里手写成员变量 NSString *_age
ivar:1typedef struct objc_ivar *Ivar;
objc_ivar结构体定义如下:
|
|