內存管理總結:atom
1>計數器的操做:spa
*retain:+1對象
*release:-1內存
*retainCount:得到計數器的數字開發
2>set方法的內存管理:內存管理
*set方法的實現:class
- (void)setCar:(Car *)car{方法
if (_car != car){總結
[_car release];copy
_car = [car retain];
}
}
*dealloc方法的實現:
- (void)dealloc{
[_car release];
[super dealloc];
}
3>@property參數:
*OC對象類型
@property(nonatomic,retain)類名 *屬性名;
// 被retain的屬性必須在dealloc方法中release;
- (void)dealloc{
[_car release];
[super dealloc];
}
*非OC對象類型
@property(nonatomic,assign)類型名 屬性名;
4>autorelease
*系統自帶的方法裏面沒有alloc,new,copy,說明返回的對象都是autorelease的
*開發中常常會用到一些類方法,快速建立一個已經autorelease的對象
*建立對象時不要直接用類名,通常用self
*/
// 1>系統自帶的方法裏面沒有alloc,new,copy,說明返回的對象都是autorelease的
// 2>開發中常常會用到一些類方法,快速建立一個已經autorelease的對象
// 3>建立對象時不要直接用類名,通常用self