自动释放池的简单实现
原理:自动释放池被释放的时候,池子帮你调用relase释放这个对象了
实现
@autoeleasepool
{
Person *p1=[[Person alloc] init] autorelese];
创建一个对象,并且调用它的autorelese方法
}
要是没有这个池子 就应该是
Person *p1 =[Person new]
[p1 release]
注意事项:在里面调用autorelease,只将这个对象释放一次,如果多次调用就会出现野指针现象。
创建对象在自动释放池里面,就不会让引用计数器+1
自动释放池可以嵌套,只有当自动释放池结束的时候才会发送release消息xcode