总是搞不清autorelease为什么要有的问题。现在梳理一下
为什么要有autorelease??
可以这样理解,对于一个方法return [[NSObject alloc] init];这个新建的NSObject对象谁来释放??
根据“谁申请,谁释放”的原则,调用者也不能释放,因为不是申请者;方法内部不可能有释放,否则就返回了空对象。
所以就用了autorelease延迟了该对象的释放,将其加入到autoreleasePool中
http://blog.csdn.net/yuanya/article/details/8870852 这篇文章写得挺好。
网友评论