1,非ARC 转 ARC的操做框架
XCode 的 Edit -- Refactor -- Convert to Object-C ARC (注意,通常在一个大项目中,不多直接使用此方法,其正确率有待考虑,毕竟手动内存管理较为复杂,若是出现错误,很难排查)ui
2,ARC 与 非ARC共存指针
需求来源:当咱们在项目中使用一些古老的框架时,该框架就可能使用手动内存管理.而公司开发的项目可能采起ARC.此时如何将二者整合到一块儿?对象
解决方法:选中改项目---Build Phase -- 双击非ARC 文件,输入 -fno-obj-arc便可保证不会由于当前使用了ARC,对非ARC文件报错.内存
提起ARC,下面简单谈下我的对ARC的理解.资源
能够简单的理解为,有強指针指向的对象不会被系统回收,而没有強指针指向(弱指针或者没有)都会被系统回收开发
通常默认的指针就是强指针(strong),而使用weak修饰的指针为弱指针.it
然而,并非你使用了ARC就不会出现内存泄漏的状况.什么是内存泄漏?就是该对象已经再也不使用了,而还存在内存中,占用内存资源.这叫内存泄漏.那么,若是你已经不使用该对象了,还一直使用強指针指向它,又会怎样?若是出现循环引用(互相強指针指向对方)呢?又会怎样?内存管理
因此,在使用过程当中,依然要分析何时使用strong,何时使用weak.内存泄漏
上文提到的循环引用的解决方案:一方设置为weak,一方设置为strong便可.