由[obj alloc]分配的内存,可以有两种释放方式:[obj release]或者[obj dealloc]。
其实release最终也是通过调用dealloc来释放内存,但release会判断要释放的内存是否正在被使用,如果没有被使用的话才执行释放。而且因为可以向nil object发送消息,所以下面的两种形式是等价的:
- if(obj) [obj release];
- [obj release];
由[obj alloc]分配的内存,可以有两种释放方式:[obj release]或者[obj dealloc]。
其实release最终也是通过调用dealloc来释放内存,但release会判断要释放的内存是否正在被使用,如果没有被使用的话才执行释放。而且因为可以向nil object发送消息,所以下面的两种形式是等价的: