A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大白天 中级黑马   /  2015-2-16 23:45  /  874 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在内存管理中, 重写dealloc时 为什么一定要[super dealloc] 而且要写在最后面?大家有何见解

4 个回复

倒序浏览
因为你创建的类中的某些变量是从父类那里直接继承过来的.所以需要调用父类的dealloc方法去释放掉.不然会造成内存泄露.至于为什么写在最后面.是因为如果写在前面的话.super就会先被dealloc掉.后面的都没法访问啦.
回复 使用道具 举报
固定格式!!!我只能这样说!!
回复 使用道具 举报
dealloc是父类的方法,也就是NSObject的方法,想调用父类的方法,必须有supee +父类方法名,不仅是dealloc方法,其他父类方法也是这样,super 只是标志,这样理解简单些
回复 使用道具 举报
小龟快跑驾 发表于 2015-2-17 12:16
因为你创建的类中的某些变量是从父类那里直接继承过来的.所以需要调用父类的dealloc方法去释放掉.不然会造 ...

涨姿势了 三克油  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马