码迷,mamicode.com
首页 > 其他好文 > 详细

内存管理02

时间:2015-02-04 00:30:00      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

  在oc中内存管理方法十分的严谨,OC确实强大!在Xcode中能够自动管理内存的功能,叫做ARC。但是还是要知道怎么手动管理内存。

在使用对象时,系统会对该对象(object)的引用计数器进行加1操作(retain),然而只有当对象的引用计数器等于0时系统才会回收该对象,所以为了防止内存泄露必须在不使用该对象(object)时,对它进行release操作。

使用对象原则:

1.谁创建对象,谁对对象release。

2.谁retain了,谁release。

3.有alloca,就要有release。

4.只要调用了alloc,必须有release与它相对应;如果对象不是通过alloca创建,不需要对该对象release。

内存管理的代码规范:

1。set方法的代码规范:

基本数据类型的set方法,直接赋值

OC对象类型得这样写:

//假如类是Person

- (void)setPerson:Person *person

{

  if(person!=_person)//判断新旧对象是否相同

  {

    [_person release];//对旧对象进行减1操作,如果第一次使用时确实不相同,此操作会忽略,因为oc能够容忍空指针错误

    

    _person = [person retain]; //对新对象进行加1操作    

        }

 }

dealloc的代码规范

- (void)dealloc

{  

  [_person release];//当不需要使用这个对象时,减1操作与set里的ratain相对应

  [super dealloc];//一定要写在代码的最后面

}

 

内存管理02

标签:

原文地址:http://www.cnblogs.com/jingdian/p/4271260.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!