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

© ★Joean_Zhou 中级黑马   /  2014-6-21 09:17  /  1521 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

用release时我知道要重写dealloc方法,但是如果用释放池来释放对象要不要重写下dealloc方法呢?还是只要用到autorelease方法就不用管dealloc方法

2 个回复

倒序浏览
我觉得autorelease针对的是新建的对象, 如果新建对象时使用了alloc/new/copy, 就需要release或者autorelease一次.
重写dealloc方法针对的是一个对象所拥有的对象类型的属性, 如果在set方法中对它的对象属性retain了一次, 就需要在dealloc方法里对这个属性release一次.
所以说, autorelease对应的是alloc, 对对象本身做释放; dealloc里的release对应的是set方法里的retain, 对对象的属性做释放.  

应该是只有在使用ARC的时候, 才不需要管dealloc方法.
{:3_57:}
回复 使用道具 举报
楼上正解!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马