autorelease 使用注意事项
1、并不是所有的放到自动释放池中的代码,产生的对象就会自动释放,必须加入自动释放池代码
eg: Person *p = [[Person new] autorelease];
2、如果对象调用了autorelease 但是,调用autorelease的时候,没有在任何一个自动释放池中,此时该对象也不会被加入到自动释放池
3、是需要在自动释放池的代码块中调用 autorelease 就可以把对象加入到自动释放池
autorelease 错误使用方式
1、连续多次使用autorelease,释放池销毁时执行两次release
2、Alloc 之后调用了autorelease,又调用了release |
|