您的位置:首页 > 其它

OC 属性的性质

2015-05-13 13:56 67 查看
我们常常看到在.h文件里的属性有这样几个单词

@property (nonatomic,readwrite,copy) NSString *name;

接下来是属性的性质的集合

nonatomic:非原子性的 ;

atomicity: 原子性 (1,2两点我也搞不清楚,百度后,简单来说,如果你希望变量值安全的话就使用atomic,如果你希望速度快,效率高的话,就用nonatomic);

readwrite: 读写权限 具有getter与setter方法,有@synthesize实现;

readonly: 只读权限 只具有getter方法,也是由@synthesize实现;

assign: “setter方法”只会执行针对简单的赋值操作。默认的

strong: 为这种属性设置新值的时候,“setter方法”会先保留新值,并释放旧值,再将新值设置上去

weak: 为这种属性设置新值的时候,“setter方法”既不保留新值,也不释放旧值。这个喝assign类似,但是在属性指的对象遭到摧毁的时候,属性值也会清空

unsafe_unretained:与assign相同,但是更适用于“对象类型”,摧毁时也不会清空

copy:此特质所表达的所属关系与strong类似,然而setter方法并不保留新值,而是将其拷贝。当NSString *时,经常用到。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: