码迷,mamicode.com
首页 > 其他好文 > 详细

内存管理

时间:2016-03-28 13:23:32      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

一、计数器的基本操作

1> retain : +1

2> release :-1

3> retainCount : 获得计数器

 

二、set方法的内存管理

1> set方法的实现

- (void)setCar:(Car *)car

{

    if ( _car != car )

    {

        [_car release];

        _car = [car retain];

    }

}

 

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

- (void)dealloc

{

    [_car release];

    [super dealloc];

}

 

三、@property参数

1> OC对象类型

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

@property (nonatomic, retain) Car *car;

@property (nonatomic, retain) id car;

 

// 被retain过的属性,必须在dealloc方法中release属性

- (void)dealloc

{

    [_car release];

    [super dealloc];

}

 

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

 

内存管理

标签:

原文地址:http://www.cnblogs.com/lan1x/p/5328459.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!