readwrite,readonly,assign,retain,copy,nonatomic 属性的作用
2016-05-05 14:27
246 查看
@property是一个属性访问声明,扩号内支持以下几个属性:
1,getter=getterName,setter=setterName,设置setter与 getter的方法名
2,readwrite,readonly,设置可供访问级别
2,assign,setter方法直接赋值,不进行任何retain操作,为了解决原类型与环循引用问题
3,retain,setter方法对参数进行release旧值再retain新值,所有实现都是这个顺序(CC上有相关资料)
4,copy,setter方法进行Copy操作,与retain处理流程一样,先旧值release,再 Copy出新的对象,retainCount为1。
这是为了减少对上下文的依赖而引入的机制。
5,nonatomic,非原子性访问,不加同步,多线程并发访问会提高性能。注意,如果不加此属性,则默认是两个访问方法
都为原子型事务访问。锁被加到所属对象实例级(我是这么理解的...)。
1,getter=getterName,setter=setterName,设置setter与 getter的方法名
2,readwrite,readonly,设置可供访问级别
2,assign,setter方法直接赋值,不进行任何retain操作,为了解决原类型与环循引用问题
3,retain,setter方法对参数进行release旧值再retain新值,所有实现都是这个顺序(CC上有相关资料)
4,copy,setter方法进行Copy操作,与retain处理流程一样,先旧值release,再 Copy出新的对象,retainCount为1。
这是为了减少对上下文的依赖而引入的机制。
5,nonatomic,非原子性访问,不加同步,多线程并发访问会提高性能。注意,如果不加此属性,则默认是两个访问方法
都为原子型事务访问。锁被加到所属对象实例级(我是这么理解的...)。
相关文章推荐
- 使用Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATI
- rails笔记
- 虚拟机不能启动,E_FAIL(0x80004005) 及其处理
- Rails Cookies与Session操作汇总
- OpenCV 之 HaarTraining 算法剖析
- LeetCode 256. Paint House
- 217. Contains Duplicate
- LeetCode 217: Contains Duplicate
- opencv源码解读——haartraining
- LeetCode 219: Contains Duplicate II
- KairosDB 监控系统介绍
- 美国白宫将探讨人工智能 概念股分析
- odoo开发domain的使用
- I/O wait高高等待
- SwingUtilities中invokeLater,invokeAndWait的作用和区别
- 人工智能幸顿(Hinton)学派
- RailsでActiveRecord/Arelを使って複雑なSELECT文を実行する方法
- 谈应用环境下的TIME_WAIT和CLOSE_WAIT[转]
- IBM ESB 消息流发送邮件
- BaiduMapUtil 百度地图计算两点之间的距离的工具类