码迷,mamicode.com
首页 > 其他好文 > 详细

引用计数

时间:2014-07-24 10:06:13      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:blog   http   使用   2014   re   c   

1.引用计数是为了计算机记住程序在执行的对像时是否已经全部释放对象的内存
  

    //alloc创建一个新对象,并且新对象的引用计数为1

    Student *stu = [[Student alloc] init];

    

    //获取对象的引用计数

    NSLog(@"%u", [stu retainCount]);

    

    //retain使引用计数加1

    [stu retain];

    NSLog(@"%u", [stu retainCount]);

    

    //release使引用计数减1,如果引用计数为0的话,对象被系统释放

    [stu release];

 
 //一次autorelease只相当于一次release

 

        [stu03 autorelease];

 使用alloc/new/copy/create,一定需要release

 
 使用类方法得到的对象,一定是一个autorelease对象,不需要释放。自定义的方法,如果不是用alloc/new/copy/create开头的,一定要返回autorelease对象。//谁创建谁释放

+ (Student *)student

{

    Student *stu = [[Student alloc] init];

    

    //对象会延时释放,使引用计数减1

//    [stu autorelease];

    

    return [stu autorelease];

}

 

//系统在该对象销毁前自动调用,一定不能手动调用

- (void)dealloc

{

    NSLog(@"dealloc: %@", self);

    

    //如果一个类使用手动引用计数,并且实现了dealloc方法,就必须在dealloc方法里调用父类的dealloc方法

    [super dealloc];

}
在使用手动引用计数之前应该将下面设置为-fno-objc-arcbubuko.com,布布扣

bubuko.com,布布扣



?

引用计数,布布扣,bubuko.com

引用计数

标签:blog   http   使用   2014   re   c   

原文地址:http://www.cnblogs.com/niang123/p/3864673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!