zoukankan      html  css  js  c++  java
  • MRC

     MRC

    关于NSString,retainCount为-1

    C方法中含有Copy的方法名, 都要释放 例如CFRealse(ref)

     字符串常量,因为one
    为字符串常量,系统不会回收,也不会对其作引用计数,即使我们对test1

      做任何retain或release

     

    NSObject *obj = [[NSObject alloc] init];

    ojb 的 引用计数为 1 (默认,相当于retain)

    [obj retain];    引用计数+1

    [obj release];    引用计数-1

    [obj autorelease];  NSRunLoop运行完毕之后引用计数就会自动-1

    对于对象属性

     

    @interface MRCObject ()

    @property (nonatomic, strong) MyObject *myObj;

    @end

    在没有被赋值时, 引用计数为0

    如果是:self.myObj = [[MyObject alloc] init];

    在这一句之后对象的引用计数为2 

    如果是:self.myObj = [[[MyObject alloc] init] retain];

    在这一句之后对象引用计数为3

    相当于:

    MyObject *obj = [[MyObject alloc] init];  //+1

    self.myObj = obj; // + 1

    [self.myObj retain];// +1    共3

     

    // MRC setter
    
    - (void)setName:(NSString *)name
    {
         [_name release]; 
         _name = [name retain]; 
    }
  • 相关阅读:
    2.六角星绘制
    1.五角星绘制
    Redis
    javaScript
    反射
    区分'方法'和'函数'
    递归,二分法
    匿名函数,排序函数,过滤函数,映射函数,
    生成器,生成器函数,推导式,生成器表达式.
    函数,闭包,迭代器
  • 原文地址:https://www.cnblogs.com/apem/p/4587682.html
Copyright © 2011-2022 走看看