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]; 
    }
  • 相关阅读:
    java 深入技术三(List)
    java 深入技术二(Collection)
    java开发JDBC连接数据库详解
    数据库基础和JDBC
    java 深入技术一
    java入门 第三季4
    java入门 第三季3
    04-1. 水仙花数(20)
    04-0. 求符合给定条件的整数集(15)
    03-4. 成绩转换(15)
  • 原文地址:https://www.cnblogs.com/apem/p/4587682.html
Copyright © 2011-2022 走看看