autorelease 给某个对象发送一条autorelease消息时,就会将这个对象加到一个自动释放池中 当自动释放池销毁时,会给池子里面的所有对象发送一条release消息 调用autorelease方法时并不会改变对象的计数器,并且会返回对象本身 autorelease实际上只是把对release的调用延迟了,对于每一次autorelease,系统只是把该对象放入了当前的autorelease pool中,当该pool被释放时 pool中的所有对象会被调用Release
IOS5.0前
@autoreleasepool{ // ....}
IOS5.0后
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];// .....[pool release]; // 或[pool drain];
|