内存管理的关键是如何判断对象被回收
通过重写NSObject的dealloc方法:
代码规范:
(1)一定要[super dealloc],而且要放到最后,意义是:先释放子类占用的空间再释放父类占用的空间
(2)对self(当前)所拥有的的其他对象做一次release操作
-(void)dealloc
{
[_xxx release];
[super dealloc];
}
注意
永远不要直接通过对象调用dealloc方法(实际上调用并不会出错)
一旦对象被回收了, 它占用的内存就不再可用, 坚持使用会导致程序崩溃(野指针错误)为了防止调用出错,可以将“野指针”指向nil(0)。
dealloc方法,在对象销毁的时候会自动调用
判断是否需要回收某个对象的内存:通过对象的引用计数器;retainCount |
|