学习笔记:Objective C 的内存管理(4)----ARC内存管理机制
2015-04-05 11:16
519 查看
一、ARC的基本使用 (ARC是编译器的特性)
(一)ARC的判断准则:只要没有强指针指向对象,就会释放对象。
指针:1、强指针:所有指针默认均为强指针(默认__strong)
2、弱指针:__weak
举例:@property (nonatomic strong) Dog *dog;(参数中strong相当于retain,weak相当于assign)
(二)ARC总结
1、不允许使用release、retain、retainCount
2、允许重写dealloc,但不允许调用[super dealloc]
3、@proper的参数
strong:成员变量是强指针(适用于OC对象类型)
weak:成员变量是弱指针(适用于OC对象类型)
assign:适用于非OC对象类型
4、以前的retain改为strong
(三)ARC循环引用
当两端循环引用时,解决方法:
ARC情况:一端用strong,一端用weak。
非ARC情况:一端用retain,一端用assign。
(一)ARC的判断准则:只要没有强指针指向对象,就会释放对象。
指针:1、强指针:所有指针默认均为强指针(默认__strong)
2、弱指针:__weak
举例:@property (nonatomic strong) Dog *dog;(参数中strong相当于retain,weak相当于assign)
(二)ARC总结
1、不允许使用release、retain、retainCount
2、允许重写dealloc,但不允许调用[super dealloc]
3、@proper的参数
strong:成员变量是强指针(适用于OC对象类型)
weak:成员变量是弱指针(适用于OC对象类型)
assign:适用于非OC对象类型
4、以前的retain改为strong
(三)ARC循环引用
当两端循环引用时,解决方法:
ARC情况:一端用strong,一端用weak。
非ARC情况:一端用retain,一端用assign。
相关文章推荐
- 深入理解JVM学习笔记-自动内存管理机制
- cocos2dx内存管理机制学习笔记,源码分析
- java虚拟机学习笔记_第一部分内存管理机制
- 轻松学习Linux之认识内存管理机制
- memcached源码学习-内存管理机制slab allocator
- C++ Standard Stl -- SGI STL源码学习笔记(04) stl_deque && 初涉STL内存管理
- C++动态内存创建与内存管理学习笔记[2]
- IOS学习笔记3—Objective C—简单的内存管理
- C++动态内存创建与内存管理学习笔记
- 转:C++动态内存创建与内存管理学习笔记[2]
- C语言内存分配管理(学习笔记)
- ios学习--Objective C内存管理进阶(三): 调试内存泄露 .
- C++动态内存创建与内存管理学习笔记[4]
- JVM学习笔记(1、 基本结构;2、Java代码编译和执行的整个过程3、内存管理和垃圾回收 4、 内存调优 )
- unix c 学习笔记之内存管理
- zigbee学习笔记--电源管理OSAL机制的ZigBee低功耗管理(CC2530)
- java虚拟机内存管理机制(二):了解JVM的内存管理与垃圾回收
- Java 学习笔记 (13) - 基本内存分析 和 垃圾回收机制
- PowerPC体系结构学习笔记之内存管理
- LCC学习笔记之一 --内存和字符串管理