一、计数器的操作
(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。