property 参数(4类,不同类型的参数可以一起写 @property (readwrite, assign) int age):
1.内存管理相关的参数
retain:release 旧值,retain 新值,适用于OC对象类型
assign:直接赋值(默认),适用非OC对象类型,@property (assign) int age
copy :release旧值,copy新值
2.是否要生成set方法
readwrite:同时生成setter和getter的声明和实现(默认)
readonly:只会生成getter的声明实现
@property (readonly) int age;
3.多线程管理
nonatomic: 性能高,(一般用这个)
@property (nonatomic) int age;
atomic: 性能低(默认)
4.setter和getter方法的名称
setter:决定了set方法的名称,一定要有一个冒号:
getter:据定了getter方法的名称,一般用在BOOL类型
@property (getter = abc, setter = ABC:(要写冒号,冒号是文件名)) int age;// 将get方法改为abc
改了名字,也可以用以前的名字
@property (getter = isRich) BOOL rich; //返回BOOL类型的方法名一般以is开头
1.内存管理相关的参数
retain:release 旧值,retain 新值,适用于OC对象类型
assign:直接赋值(默认),适用非OC对象类型,@property (assign) int age
copy :release旧值,copy新值
2.是否要生成set方法
readwrite:同时生成setter和getter的声明和实现(默认)
readonly:只会生成getter的声明实现
@property (readonly) int age;
3.多线程管理
nonatomic: 性能高,(一般用这个)
@property (nonatomic) int age;
atomic: 性能低(默认)
4.setter和getter方法的名称
setter:决定了set方法的名称,一定要有一个冒号:
getter:据定了getter方法的名称,一般用在BOOL类型
@property (getter = abc, setter = ABC:(要写冒号,冒号是文件名)) int age;// 将get方法改为abc
改了名字,也可以用以前的名字
@property (getter = isRich) BOOL rich; //返回BOOL类型的方法名一般以is开头