设为首页 加入收藏

TOP

[Objective-C]OC中引用计数和对象所有权的基本概念与用法
2014-11-23 17:58:55 来源: 作者: 【 】 浏览:11
Tags:Objective-C 引用 计数 对象 所有权 基本 概念 用法

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

\

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

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

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

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

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

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

    #import 
         
          
    #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;
    }
         
    \


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C指针原理(85)-json-glib剖析 下一篇[Objective-C]OC中字符串(NSStrin..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: