ARC下内存管理问题

1、指针分类

(1)强指针:默认的情况下,所有的指针都是强指针,关键字strong

(2)弱指针:_ _weak关键字修饰的指针


2、什么是ARC?

简单的说就是,不用我们自己去关注对象的内存问题,系统会自动帮我们去管理,我们只需要了解一点,

那就是当某个对象没有强指针指向它时,系统就会释放它。


3、那是不是要将代码放在自动释放池里面呢?

由于对象只要没强指针指向,它就会释放的原理,我们可以将代码放在任何地方,但是你得控制的是,

当你需要释放这个对象时,要保证它没有强指针指着它就可以来;


4、既然ARC下我们不可以掉用[super delloc] 那复写父类的delloc时怎么保证对象被清除呢?

上一段代码:


//猫类的声明,它是继承动物的

#import "Animal.h"


@interface Cat : Animal


@end



//实现

#import "Cat.h"


@implementation Cat


- (void)dealloc

{

    NSLog(@"cat ealloc");

}


@end


//动物类的声明

#import <Foundation/Foundation.h>


@interface Animal :NSObject


-(void) run;


@end



//动物类的实现

#import "Animal.h"


@implementation Animal



- (void)dealloc

{

    NSLog(@"ani dealloc");

}



@end


#import <Foundation/Foundation.h>

#import "Cat.h"

int main(int argc,constchar * argv[]) {

    @autoreleasepool {

     

       Animal * ani = [Animalnew];

        

       Cat * cat = [Catnew];


    }


   return0;

}



打印的结果是

2015-08-28 10:45:27.922 Test[63070:2080697] cat ealloc

2015-08-28 10:45:27.924 Test[63070:2080697] ani dealloc

2015-08-28 10:45:27.925 Test[63070:2080697] ani dealloc


结论:在ARC下,当我们复写delloc方法时,我们不需要,也不能调用[super delloc]方法,
系统会自动帮我们调用。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值