即使我們不擁有ivar的(alloc/new/copy),我們是否必須在dealloc中釋放ivar?即使我們不擁有伊娃的(alloc/new/copy),我們是否必須在dealloc中釋放伊娃?
例如,這是正確的嗎?
-(void)dealloc {
[_aUIImageIvar release];
[super dealloc];
}
-(id)init{
self = [super init];
if (self) {
_aUIImageIvar = [UIImage imageWithData:data];
}
}
不可以。不要釋放你不擁有的東西。但爲什麼你不保留這個形象? – rmaddy
謝謝@rmaddy,我忘了保留它...因爲我沒有使用setter,所以很容易忘記保留。 – Cong
簡單的規則,如保留 - 釋放配對容易與其他事物混淆... – Cong