ios开发-property参数

来源:互联网 发布:九宫飞星兼盘`软件 编辑:程序博客网 时间:2024/05/18 16:59

非ARC参数:

(1)retain

要生成符合内存管理的set方法,应用于对象类型

@property(retain)NSString *proprice;

(2)assign

直接赋值,适用于对象类型,基本数据类型,如:int,float,double

@property(assign)int proprice;

(3)copy

@property(copy)int proprice;


多线程相关的:

(1)nonatomic

不生成多线程相关代码,对象类型一般都写成这个。

(2)atomic

生成多线程相关代码,如果不写,一般默认是这个参数。


是否生成get与set方法:

(1)readwrite:可读可写

(2)readonly:只读属性,值生成get方法


set与get方法相关的参数:

(1)setter

设置生成set方法的名称

@property(nonatomic,assign,setter = abc)int proprice;

访问该属性的方法:

[p abc:10000];

(2)getter

设置生成get方法名称

@property(nonatomic,assign,getter = abc )int proprice;

[p abc]; //等价于p.heigh


在ARC模式下 ,property的参数:

(1)strong:

强指针,对应非ARC中的retain。

(2)weak:

弱指针,对应非ARC中的assign。

__weak Person *p = [ [ Person alloc ] init];//此种情况一被创建就立即释放


只要有强指针指向的一个对象,那么系统不会回收该对象,反之,会立即回收。

弱指针不影响对象被回收,默认情况下,都是强指针。

0 0
原创粉丝点击