A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© halloIOS 中级黑马   /  2015-1-19 19:56  /  979 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

内存管理总结:
一,计数器的基本操作
1,retain:+1
2,releasse:-1
3,retainCount:获得计数器数
二,set方法的内存管理
1,set方法的实现
- (void) setCar:(Car *) car
{
        if(car != _car)
        {
                [_car release];
                _car=[car retain];
        }
}
2,dealloc 方法的实现
- (void) dealloc
{
        [_car release];
        [super dealloc];
}
三,@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过了,不需要release
[NSString  stringWithFormat:@"%d 的小女生",10];
[NSDate date];
2,开发中经常写一些类方法快速创建一个autorelease的对象
*创建时不要直接使用类名,用self
如:Mac中Desktop/class/autorelease
如:一个Person类,一个GoodMan子类

1 个回复

倒序浏览
加油加油,一起共勉!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马