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;
}