總是搞不清autorelease為什么要有的問題。現(xiàn)在梳理一下
為什么要有autorelease??
可以這樣理解,對于一個方法return [[NSObject alloc] init];這個新建的NSObject對象誰來釋放??
根據(jù)“誰申請,誰釋放”的原則,調(diào)用者也不能釋放,因為不是申請者;方法內(nèi)部不可能有釋放,否則就返回了空對象。
所以就用了autorelease延遲了該對象的釋放,將其加入到autoreleasePool中
http://blog.csdn.net/yuanya/article/details/8870852 這篇文章寫得挺好。