黑马程序员——OC——ARC内存管理
2014-06-30 08:39
302 查看
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
1.ARC特点
1> 不允许调用release、retain、retainCount
2> 允许重写dealloc,但是不允许调用[super dealloc]
3> @property的参数
* strong :成员变量是强指针(适用于OC对象类型)
* weak :成员变量是弱指针(适用于OC对象类型)
* assign : 适用于非OC对象类型
4> 以前的retain改为用strong
2. 指针分2种:
1> 强指针:默认情况下,所有的指针都是强指针 __strong
2> 弱指针:__weak
3.ARC的判断准则:只要没有强指针指向对象,就会释放对象
当两端循环引用的时候,解决方案:
1> ARC
1端用strong,另1端用weak
2> 非ARC
1端用retain,另1端用assign
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
1.ARC特点
1> 不允许调用release、retain、retainCount
2> 允许重写dealloc,但是不允许调用[super dealloc]
3> @property的参数
* strong :成员变量是强指针(适用于OC对象类型)
* weak :成员变量是弱指针(适用于OC对象类型)
* assign : 适用于非OC对象类型
4> 以前的retain改为用strong
2. 指针分2种:
1> 强指针:默认情况下,所有的指针都是强指针 __strong
2> 弱指针:__weak
3.ARC的判断准则:只要没有强指针指向对象,就会释放对象
当两端循环引用的时候,解决方案:
1> ARC
1端用strong,另1端用weak
2> 非ARC
1端用retain,另1端用assign
#import <Foundation/Foundation.h> @class Dog; @interface Person : NSObject @property (nonatomic, strong) Dog *dog; @end
#import <Foundation/Foundation.h> @class Person; @interface Dog : NSObject @property (nonatomic, weak) Person *person; @end
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员——OC的内存管理——ARC
- 黑马程序员——OC基础:内存管理和自动引用计数(ARC)
- 黑马程序员——OC基础:内存管理和自动引用计数(ARC)
- 黑马程序员——OC语言------内存管理和ARC
- 黑马程序员---OC基础---内存管理(MRC、ARC)
- 黑马程序员学习笔记_OC之内存管理3ARC
- 黑马程序员IOS-OC语言-内存管理、ARC
- ——黑马程序员——OC中ARC下内存管理总结
- 黑马程序员——OC基础---内存管理(autorelease,ARC)
- 黑马程序员——9、OC语言(内存管理和ARC)
- 黑马程序员--ios基础--oc-内存管理之ARC、Block
- 黑马程序员 OC中的内存管理及MRC和ARC单个对象的内存管理问题
- 黑马程序员————OC内存管理_ARC
- OC内存管理教程之ARC(二)——自动引用计数规则
- [黑马程序员]14[OC语言]OC内存管理部分学习笔记总结
- 黑马程序员———OC的内存管理
- 黑马程序员---OC学习笔记之集合对象的内存管理
- 黑马程序员---成长之路-----OC之基础篇MRC内存管理
- 黑马程序员---08内存管理(ARC)
- 黑马程序员——【OC】内存管理