今天谈谈OC中MRC手动引用计数的内存释放问题

来源:互联网 发布:linux cpu mhz 编辑:程序博客网 时间:2024/05/16 18:37
MRC手动引用计数的内存释放需要我们能够分析引用计数的内存指向问题,今天对于这个问题我来分析下简单的调用方法

-(instancetype)dealloc {

NSLog(@"被销毁");

 [_gun release];    //因为在main函数里直接调用显视的这个函数,不用这把枪的同时也让其销毁

[super dealloc];

}

- (void)setGun:(Gun *)gun{

if(_gun==gun)return;   //如果现在要用的这把枪是之前的枪,就直接返回之前的枪

[_gun release];            //否则让之前的那把枪销毁

[_gun retain];               //这句话是执行if相等之后执行的,如果2把枪是同一把就让之前的枪也就是现在要选择的这把枪的引用计数+1

}

ARC(自动引用计数)是计算机在编译时自动加入retain,release,autorelease代码,本质上和MRC无区别



0 0