首页 > 其他 > 详细

关于[super dealloc]

时间:2014-03-11 23:25:01      阅读:687      评论:0      收藏:0      [点我收藏+]

      销毁一个对象时,需要重写系统的dealloc方法来释放当前类所拥有的对象,在dealloc方法中需要先释放当前类中所有的对象,然后再调用[super dealloc]释放父类中所拥有的对象。如先调用[super dealloc]将释放掉父类中所拥有的对象,当前类中所拥有的对象将得不得到释放,这样就会造成内存泄露。      

------错误的写法--------

- (void)dealloc

{

    [super dealloc];

    [XX release];

    ......

}

-------正确的写法--------

- (void)dealloc

{

    [XX release];

    [super dealloc];

    ......

}

 

      所创建的都是继承自根类的,有时会根据需要继承一个父类,这样父类中的实例变量也会继承过来,这部分实例变量可能会在该类中使用,它们不会自动释放内存,需要调用父类的dealloc方法来释放其拥有的对象,然而在此之前,你需要先将当前类中拥有对象所占用的内存释放掉,否则会造成泄漏。

关于[super dealloc],布布扣,bubuko.com

关于[super dealloc]

原文:http://www.cnblogs.com/JoelZeng/p/3594903.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!