我有一個視圖控制器。視圖控制器有一個名爲streamController的保留對象,它是一個NSObject子類,用於處理與我的服務器的所有數據I/O。一切都很好,除了我試圖找出爲什麼一些東西在所說的streamController上泄漏。我在那裏放了一個NSLog,我從來沒有看到它發射。我完全不明白爲什麼,因爲我在我的視圖控制器的dealloc方法中釋放了控制器。爲什麼我的類的dealloc沒有被調用?
從視圖控制器接口...
StreamController *streamController;
@property (nonatomic, retain) StreamController *streamController;
從視圖控制器實現...
@synthesize streamController;
- (id)init {
[super init];
self.streamController = [[StreamController alloc] init];
}
- (void)dealloc {
NSLog(@"dealloc view controller");
[streamController release];
[super dealloc];
}
從StreamController實現...
- (void)dealloc {
NSLog(@"dealloc stream controller");
[super dealloc];
}
這最後的dealloc永遠不會調用。爲什麼?
哪裏是streamController設置? – jtbandes 2010-08-12 07:15:59
剛剛更新以顯示 – 2010-08-12 07:17:18
您使用它之後是否釋放* streamController? *沒關係,你更新你的代碼已經* – elslooo 2010-08-12 07:17:46