我有一个视图控制器。视图控制器有一个名为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