OC语言基础之利用property优化封装
1.property功能用法
1: // @property:可以自动生成某个成员变量的setter和getter声明
2: @property int age;//可以直接免去变量的声明
3: //- (void)setAge:(int)age;
4: //- (int)age;
2.注意点
若使用了property但自己写了get或set方法,自己写的会把系统的对应方法覆盖掉。
1: - (void)setAge:(int)age
2: {
3:
4: }
5:
6: //- (int)age
7: //{
8: //
9: //}
10:
11: //- (int)age
12: //{
13: // return 10;
14: //}
1.set方法内存管理相关的参数
* retain : release旧值,retain新值(适用于OC对象类型)
* assign : 直接赋值(默认,适用于非OC对象类型)
* copy : release旧值,copy新值
2.是否要生成set方法
* readwrite : 同时生成setter和getter的声明、实现(默认)
* readonly : 只会生成getter的声明、实现
3.多线程管理
* nonatomic : 性能高 (一般就用这个)
* atomic : 性能低(默认)
4.setter和getter方法的名称
* setter : 决定了set方法的名称,一定要有个冒号 :
* getter : 决定了get方法的名称(一般用在BOOL类型)