格式:@property (参数1, 参数2) 数据类型 方法名
参数类别 参数 说明原子性 atomic 对属性加锁,多线程下安全,默认值 nonatomic 对属性不加锁,多线程下不安全,但是速度快读写属性 readwrite 生成getter、setter,默认值 readonly 只生成getter方法set方法处理 assign 直接赋值,默认值 retain 先release原来的值,再retain新值 copy 先release原来的值,再copy心新值 1)多线程管理(苹果在一定程度上屏蔽了多线程操作)nonatomic:高性能,一般使用这个atomic:低性能,默认 2)是否要生成set方法readonly:意思是只读,只会生成getter的声明和实现,用来获取值readwrite:意思是读写,默认的,同时生成setter和getter的声明和实现3)set方法的处理1)assign做参数
@property (assign )int age;//相当于生成了下面的方法
-(void)setAge:(int)age{
_age = age;
}
@property (retain) int car; //相当于生成了下面的方法
Car _car;
-(void)setCar:(Car)car{
if (_car != car){
[_car release];
_car = [car retain];
}
}