@interface Rectangle
@property (retain) UIView *view;
@end
@implementation Rectangle
CGRect frame = CGMakeRect();
self.view = [[UIView alloc] initWithFrame:frame]
Student *student=[[Student alloc]init];
[student release]; // not using this but using dealloc on it see below
- (void)dealloc {_view release; [super dealloc]; [學生dealloc]; } @end
我的問題是: 這裏我們爲什麼要解除超對象的內存????如果我們釋放釋放它的學生的記憶會發生什麼?我必須手動釋放聲明爲保留的屬性嗎?
問自己爲什麼不使用ARC(自動參考計數)。 – rmaddy 2014-09-23 18:33:23
並找到一個現代化的教程。 '@ synthesize'行不需要。 – rmaddy 2014-09-23 18:34:10
半無關,但如果你沒有使用ARC,並且像你在那裏重寫-dealloc那樣,你必須在它的末尾調用[super dealloc]。否則,你會泄漏物體。 – 2014-09-23 18:40:34