@property在内存管理中的参数问题
2015-08-15 21:46
525 查看
// // Created by wanghy on 15/8/14. // // /* retain : release旧值,retain新值(用于OC对象),要配合nonatomic使用。 assign : 直接赋值,不做任何内存管理(默认,用于非OC对象类型) copy : release旧值,copy新值(一般用于NSString *) 控制需不需生成set方法 readwrite :同时生成set方法和get方法(默认) readonly :只会生成get方法 多线程管理 atomic :性能低(默认) nonatomic :性能高(为iOS系统开发软件建议使用,为mac开发软件可以使用atomic) */ #import <Foundation/Foundation.h> @class Car; @interface Person : NSObject //property 的 参数没有顺序要求,nonatomic,性能较高,一般用于 ios 开发,而atomic一般用语Mac开发。 @property(nonatomic,retain) Car * car1; @end
原子性 | atomic | 对属性加锁, 多线程下县城安全, 默认选项 |
nonatomic | 对属性不加锁, 多线程访问下不安全, 但速度快 | |
读写性 | readwrite | 生成 getter 和 setter 方法, 默认选项 |
readonly | 只生成 getter 方法 | |
set 方法处理 | assign | 直接赋值, 默认值 |
retain | 先 release 原来的值, 在 retain 新值 | |
copy | 先 release 原来的值, 再 copy 新值 |
相关文章推荐
- 《大型网站技术架构:核心原理与案例分析》读书笔记 - 网站的技术升级路线
- 构建Apache Tomcat 6.0 Servlet/JSP 容器
- Centos7安装配置桌面环境xfce
- 运维 阿里云服务器扩容
- linux在线安装软件
- 关于docker镜像
- Linux系统安装软件
- gitweb @ Apache [@Windows]
- Apache服务器多站点配置
- Mac 安装 opencv
- Linux文件查找
- @property命名时的要点与要注意的问题
- [Linux 运维 -- 存储] /proc/diskstats详解
- Linux简介
- Eclipse JEE中tomcat配置
- windows系统和Linux系统之间拷贝文件***--pscp
- 操作和维护经常使用的命令
- Docker基本基础知识了解
- 大型网站技术架构
- HDU 5336 XYZ and Drops (BFS模拟)