1.自己生成的对象,自己持有
2.非自己生成的对象,自己也能持有
3.不再需要自己持有的对象时释放
4.非自己持有的对象无法释放
引用计数式内存管理的思考方式仅此而已。按照这个思路,完全不必考虑引用计数。
OC的内存管理方法,不包含在语言中,而是包含在Cocoa框架中,其Foundation框架类库的NSObject类担负内存管理的职责。
使用一下名称开头的方法名意味着自己生成的对象只有自己持有:
1.alloc
2.new
3.copy
4.mutableCopy
除此之外的方法生成的对象不是自己持有的,可以使用retain让自己持有,但有义务release。
-(id)object{
idobj=[[NSObjectalloc]init];
[objautorelease];
//取得的对象存在,但不是自己拥有
returnobj;
}
释放非自己持有的对象会造成崩溃