setter方法的內存管理

set方法的內存管理


當時用alloc或者new 創建一個對象,就必調用release 或autorelease
1.你想使用(佔用)某個對象,就應該讓對象的計數器+1(讓對象做一次retain操作)
 2.你不想再使用(佔用)某個對象,就應該讓對象的計數器-1(讓對象做一次release)
3.誰retain,誰release
4.誰alloc,誰release


當一個人想要擁有一輛車的時候,在setter方法中設置如下:

#import "Person.h"

@implementation Person
- (void)setCar:(Car *)car
{
    if (car != _car)
    {
        // 對當前正在使用的車(舊車)做一次release
        [_car release];
        
        // 對新車做一次retain操作
        _car = [car retain];
    }
}
- (Car *)car
{
    return _car;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章