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

关于oc中自动引用计数 小结

时间:2014-07-29 11:39:46      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:style   blog   使用   strong   文件   div   工作   ar   

 

1、自动引用计数

      ARC(Automatic Reference Counting,自动引用计数)极大地减少了Cocoa开发中的常见编程错误:retainrelease不匹配。ARC并不会消除对retainrelease的调用,而是把这项原本大都属于开发者的工作移交给了编译器。这样做的好处是显而易见的,但是必须知道retainrelease是仍然在使用的。ARC并不等同垃圾回收。(有利于程序员操作)

2、 手动引用计数和自动引用计数区别

      在手动计数中可以使用retain和release但在自动引用计数中是不可以手动调用retain和release的  ,手动中需要程序员自己释放(某个文件创建就在某个文件释放),自动引用中程序会在哪里创建就会在哪里释放(注意作用域)。

 

3、使用自动引用计数增加和递减关键字

1、malloc(retain+1)

    colloc与malloc类似,但是主要的区别是存储在已分配的内存空间中的值默认为0,使用malloc时,已分配的内存中可以是任意的值.

2、realloc(retain+1)

3、calloc(retain+1)

4、alloc创建对象(retain+1)

5、presentViewController  与dismissViewControlerAnimated (配对使用 前者加1后者减1)

 

4、实例

 

__strong Student *student = [[Student alloc] init];

强指针指向一个Student对象    有alloc自动retain+1

当没有指针指向对象时 自动释放

   student4 = student;  //student4指向student

    
    NSLog(@"+++++++");
    
//    student4=nil;
    
    student = nil;
    
    NSLog(@"--------");

 把student4指向student   然后把student =nil它不会被释放    因为还有student4指向它所以不释放;去掉第一句   student =nil释放;

 

关于oc中自动引用计数 小结,布布扣,bubuko.com

关于oc中自动引用计数 小结

标签:style   blog   使用   strong   文件   div   工作   ar   

原文地址:http://www.cnblogs.com/liuxiang520/p/3874235.html

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