property参数

时间:2022-08-18 21:59:24
 

1,set方法内存管理相关的参数

*retain:release旧值,retain新值(适用于OC对象类型)

*assign:直接赋值(默认,只用于非OC对象类型)

*copy: release旧值,copy新值

2,是否要产生set方法;

*readwrite:同时产生setter和getter的声明,实现(默认)

*readonly : 只会生产getter的声明,实现

@property (readonly) int height;

3,多线程管理:

*nonatomic: 性能高(一般用这个)

*atomic : 性能低(默认)

4,setter和getter方法的名称

*setter:决定了set方法的名称,一定要有个冒号

*getter: 决定了get方法的名称(一般用在bool类型的get方法)

@property (getter= isRich) BOOL rich;//返回BOOL类型的方法名一般以is开头

1,oc对象类型:

@property (nonatmotic, retain) 类名  * 属性名;

@property (nonatmotic, retain)  Car * car;

@property (nonatmotic, retain)  id car;

被retain过的属性,必须在dealloc方法中release

-(void) dealloc

{

[_car release];

[super dealloc];

}

2,非OC对象类型(int\float\enum\struct)

@property (nonatmotic, assign)  类型名称 属性名;

@property (nonatmotic, assign)  int age;