ARC 全称:Automatic Reference Counting
OC中很重要的一部分就是内存管理,在IOS前期的程序员最头疼的就是内存管理代码,自从有了ARC机制以后可以自动生成内存管理代码,非常实用
使用ARC 只需要在建立一个新的项目的时候把 下面的Use ARC 的√打上
Xcode5以后都会默认建议开发者使用ARC机制
新的项目中如果有部分文件不想使用ARC就 在Build Phases中找到那个文件 后面修改成-fno-objc-arc
就得项目中如果有部分文件想使用ARC就 Build Phases中找到那个文件 后面修改成-f-objc-arc
在使用了ARC开发程序中不能再出现release或者autorelease 否则就报错
如果想把整个就项目直接转化成ARC就 点Edit -》Refactor-》Counvert to OC ARC
1.ARC特点
1> 不允许调用release、retain、retainCount2> 允许重写dealloc,但是不允许调用[super dealloc]3> ARC的判断准则:只要没有强指针指向对象,就会释放对象
2 @property的参数
* strong :成员变量是强指针(适用于OC对象类型)* weak :成员变量是弱指针(适用于OC对象类型)* assign : 适用于非OC对象类型* 以前的retain改为用strong
指针分2种:
1> 强指针:默认情况下,所有的指针都是强指针 __strong2> 弱指针:__weak
// *错误写法(没有意义的写法)
__weak Person *p = [[Person alloc] init];
// *循环引用时的解决方法
一端改成strong 一端改成retain
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |