【iOS学习】四、内存管理相关
2015-07-23 11:37
274 查看
一、set方法内存管理相关参数
1、retain:release旧值,retain新值(适用于OC对象类型)
2、assign:直接赋值(默认,适用于非OC对象类型)
3、copy:release旧值,copy新值
二、是否要生成set方法
1、readwrite:同时生成setter和getter方法的声明、实现
2、readonly:只生成getter方法的声明、实现
三、多线程管理
1、nonatomic:性能高(一般用这个)
2、atomic:(默认,性能低)
四、ARC相关
ARC
是在编译前,对代码进行分析,自动在开发者编写的程序中添加 retain
和 release 语句 。
ARC判断准则:只要没有强指针指向对象,就会释放对
1、ARC特点:
1> 不允许调用release、retain、retainCount
2> 允许重写dealloc,但是不允许调用[super dealloc]
3> @property的参数
* strong :成员变量是强指针(适用于OC对象类型)
* weak :成员变量是弱指针 (适用于OC对象类型)
* assign :适用于非OC对象
4> 以前的retain改为用strong
1、retain:release旧值,retain新值(适用于OC对象类型)
2、assign:直接赋值(默认,适用于非OC对象类型)
3、copy:release旧值,copy新值
二、是否要生成set方法
1、readwrite:同时生成setter和getter方法的声明、实现
2、readonly:只生成getter方法的声明、实现
三、多线程管理
1、nonatomic:性能高(一般用这个)
2、atomic:(默认,性能低)
四、ARC相关
ARC
是在编译前,对代码进行分析,自动在开发者编写的程序中添加 retain
和 release 语句 。
ARC判断准则:只要没有强指针指向对象,就会释放对
1、ARC特点:
1> 不允许调用release、retain、retainCount
2> 允许重写dealloc,但是不允许调用[super dealloc]
3> @property的参数
* strong :成员变量是强指针(适用于OC对象类型)
* weak :成员变量是弱指针 (适用于OC对象类型)
* assign :适用于非OC对象
4> 以前的retain改为用strong
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- Lua的内存管理浅析
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 深入探讨PHP中的内存管理问题
- .net平台推送ios消息的实现方法
- linux 内存管理机制详细解析
- 解析PHP中的内存管理,PHP动态分配和释放内存
- javascript内存管理详细解析
- JavaScript内存管理介绍
- 探讨Android与iOS,我们将何去何从?
- Cocos2d-x的内存管理总结
- Android、iOS和Windows Phone中的推送技术详解
- javascript错误的认识不用关心内存管理