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对象类型(int\float\enum\struct)

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

@property (nonatomic, assign) int age;

四、autorelease

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

  [NSString stringWithFormat];

  [NSDate date];

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

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

posted @ 2014-10-07 01:07  微雨独行  阅读(155)  评论(0编辑  收藏  举报
1 2