对象内存管理
比如:
deallco方法:
-(void)dealloc{
NSLog(@"Animal dealloc:%p",self);
//在手动引用计数时,必须调用父类的dealloc
[super dealloc];
}
1.一定不能手动调用
2.由系统自动调用
3.当对象被释放的时候调用
4.一旦对象的dealloc被调用后,这个对象一定不能再使用
5. 可以根据dealloc有没有被调用,确定对象是否被释放
在手动引用计数时,必须调用父类的dealloc
retainCount:引用计数,大于0表示不需要释放
1.alloc创建的对象,引用计数为1
2.retain 使对象计数加1
3.release 使对象计数—1
4.autorelease 使对象引用计数延时减少1
5.字面常量,不会被释放
6.系统的一些不可变对象,不能被释放
设置整个程序手动引用计数法
build setting ->ARC->YES
设置单个文件
build Phases->-fno-objc-arcffk
对象的初始化
oc的初始化方法以init开头,并且返回对象self
比如:-(instancetype)init{
self=[super init];
if(self){
_weight=0.0f;
_height=0.0f;
_name=@"" ;
}
return self;
}
初始化父类和子类之间的关系: