一、property
合成存取器:
@property的格式:
1 @property (修饰列表) 变量类型 变量名;
Xcode4.4之前:
@property使编译器自定生成set/get方法声明。
@synthesize自动生成set/get方法的实现
@synthesize还会自动生成私有成员变量
Xcode4.4以后:
不用再写@synthesize,编译器通过@property就能给我们生成set/get方法的声明和实现,默认生成成员变量:_propertyName
用@property生成的成员变量是私有的。
当我们想改变默认的成员变量名时,@synthesize age = newName;‘
如果子类想访问父类的成员变量,
1、通过set/get方法
2、显示的声明成员变量
进入正题
首先声明:
category和protocol可以添加方法
category 和 protocol中可以添加@property 关键字
二、关于protocol中的property
在protocol中添加property时,其实就是声明了 getter 和 setter 方法,在实现这个protocol协议的类中,我们要自己手动添加实例变量,并且需要实现setter/getter方法
三、category中的property
在category中添加property时, 在@implentation添加 getter 和 setter方法时, 由于category不能添加实例变量
1)使用临时全局变量来替代成员变量
首先声明:Person没有name属性