首页 > 其他 > 详细

【Objective-C】OC中引用计数和对象所有权的基本概念与用法

时间:2014-02-10 16:25:02      阅读:383      评论:0      收藏:0      [点我收藏+]

cocoa中的内存管理机制--引用计数

bubuko.com,布布扣

Cocoa中提供了一个机制来实现上面的逻辑模型,它被称为“引用计数”或者“保留计数”。引用计数的数值表示对象有几个“人”在使用它

  1. 每一个对象都拥有一个引用计数(retain count)
  2. 当对象被创建的时候,引用计数的值为1
  3. 当发送retain消息时,该对象的引用计数加1,该对象的引用计数为2
  4. 当向这个对象发送release消息时,该对象的引用计数减1
  5. 当一个对象的引用计数为0时,系统自动调用dealloc方法,销毁该对象


下面通过一个实例,来看下怎么样进行增加,减少,引用计数

1:创建Person类,并且覆盖dealloc方法:

#import "Person.h"

@implementation Person
-(void)dealloc{
    NSLog(@"person dead");
    [super dealloc];
}
@end

2:在main.m方法中进行模拟引用计数

#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        Person *tom=[[Person alloc]init];
        NSLog(@"tom : %ld",[tom retainCount]);
        [tom retain];
        NSLog(@"tom : %ld",[tom retainCount]);
        [tom release];
        NSLog(@"tom : %ld",[tom retainCount]);
        [tom release];
    }
    return 0;
}
bubuko.com,布布扣


【Objective-C】OC中引用计数和对象所有权的基本概念与用法

原文:http://blog.csdn.net/developer_jiangqq/article/details/18986703

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!