美文网首页
属性readwrite, readonly, assign, r

属性readwrite, readonly, assign, r

作者: 忘惘的小风扇 | 来源:发表于2016-06-30 14:46 被阅读75次

1、readwrite 是可读可写特性,为默认属性,被传入的参数拥有getter和setter方法,

2、readonly 是只读特性,被传入的参数仅拥有getter方法,不会生成setter方法,使用目的:不希望属性在类外被改变;

3、assign 是赋值属性,setter方法将传入的参数赋值给实例变量,不进行任何的tetain操作;

4、retain 表示特有属性,setter方法将传入的参数先进release操作,再将旧值进行retain新值,被传入的参数的引用计数会被+1;

5、copy 表示拷贝特性,setter方法将传入的对象进行拷贝,是为了减少对上下文的依赖而引入的机制;

6、nonatomic , 非原子性访问,不加同步,多线程并发访问可以提高性能;【注意】如果没有该属性,则默认是两个访问方法都是为了原子型事务访问,不加nonatomic对于多线程是安全的;

7、retain 与 copy 的比较

retain: 释放旧的对象,将旧对象的值赋予输入对象,再将该对象的引用计数+1;

copy:建立一个引用计数+1的对象,将旧的对象释放掉。其实就是建立的一个相同的对象,但是retain 不是;

相关文章

网友评论

      本文标题:属性readwrite, readonly, assign, r

      本文链接:https://www.haomeiwen.com/subject/abtfjttx.html