1.自己生成的對象,自己持有
2.非自己生成的對象,自己也能持有
3.不再需要自己持有的對象時釋放
4.非自己持有的對象無法釋放
引用計數(shù)式內(nèi)存管理的思考方式僅此而已。按照這個思路,完全不必考慮引用計數(shù)。
OC的內(nèi)存管理方法,不包含在語言中,而是包含在Cocoa框架中,其Foundation框架類庫的NSObject類擔(dān)負(fù)內(nèi)存管理的職責(zé)。
使用一下名稱開頭的方法名意味著自己生成的對象只有自己持有:
1.alloc
2.new
3.copy
4.mutableCopy
除此之外的方法生成的對象不是自己持有的,可以使用retain讓自己持有,但有義務(wù)release。
-(id)object{
idobj=[[NSObjectalloc]init];
[objautorelease];
//取得的對象存在,但不是自己擁有
returnobj;
}
釋放非自己持有的對象會造成崩潰