zoukankan      html  css  js  c++  java
  • set方法的内存管理细节

    一、多个对象之间的内存管理

     1.你想使用(占用)某个对象,就应该让对象的计数器+1(让对象做一次retain操作)

     2.你不想再使用(占用)某个对象,就应该让对象的计数器-1(让对象做一次release)
     3.谁retain,谁release

     4.谁alloc,谁release

    二、set方法的内存管理

    内存管理代码规范:
    1.只要调用了alloc,必须有release(autorelease)
       对象不是通过alloc产生的,就不需要release
     
     2.set方法的代码规范
     1> 基本数据类型:直接复制
     

    - (void)setAge:(int)age
     { 
        _age = age;
     }

     2> OC对象类型
     

    - (void)setCar:(Car *)car
     {
        // 1.先判断是不是新传进来对象
        if ( car != _car )
        {
            // 2.对旧对象做一次release
            [_car release];
     
            // 3.对新对象做一次retain
            _car = [car retain];
        }
     }


     3.dealloc方法的代码规范
     1> 一定要[super dealloc],而且放到最后面
     2> 对self(当前)所拥有的其他对象做一次release

     - (void)dealloc
     {
        [_car release];
        [super dealloc];
     }
  • 相关阅读:
    格式控制符
    sort快速排序法
    堆积排序
    oracle常用命令
    C#中int和System.Int32理解总结
    IIS 7.5中的配置
    WPF循序渐进:XAML入门 .
    怎样找到excel两列之间同行相同的数据
    pl/sql functions and cbo costing
    Oracle 学习纲要
  • 原文地址:https://www.cnblogs.com/fengmin/p/6141977.html
Copyright © 2011-2022 走看看