zoukankan      html  css  js  c++  java
  • 08-内存管理总结

    一、计数器的操作

    (1)retain : +1

    (2)release : -1

    (3)retainCount : 获得计数器

    二、set方法的内存管理

    (1)set方法的实现

    1 - (void)setCar: (Car *)car
    2 {
    3        if(_car != car)
    4        {
    5              [_car release];
    6              _car = [car retain];
    7        }
    8 }

    (2)dealloc方法的实现(不能直接调用dealloc)

    1 - (void)dealloc
    2 {
    3     [_car release];
    4     [super dealloc];
    5 }

    三、@property参数

    (1)OC对象类型

    @property (nonatomic, retain) 类名 *属性名;

    @property  (nonatomic, retain) Car *car;

    @property  (nonatomic, retain) id  car;

    (2)非OC对象类型(intfloatenumstruct)

    @property (nonatomic, assign) 类型名称 *属性名

    @property (nonatomic, assign) int age;

    四、autorelease

    (1)系统自带的方法中,如果不包含alloc、new、copy,那么这些方法返回的对象都是已经autorelease过的

      [NSString stringWithFormat];

      [NSDate date];

    (2)开发中经常写一些类方法快速创建一个autorelease的对象

        创建对象的时候不要直接类名,用self。

  • 相关阅读:
    flex 只显示年、月的日期选择控件(TimeChooser)
    SQL 实现统计业务
    SQL 时间函数详解
    我与计算机
    ISE中FPGA的实现流程
    总结Verilog中always语句的使用
    VGA 时序标准
    ChipScope软件使用
    FIFO的使用场景
    Verilog 初级入门概念
  • 原文地址:https://www.cnblogs.com/xdl745464047/p/4008922.html
Copyright © 2011-2022 走看看