【发布时间】:2010-05-05 21:48:52
【问题描述】:
我在我的程序中使用了一个 NSXMLParser 类,并为它分配了一个委托。 但是,这个委托被 setDelegate: 方法保留,导致了一个轻微但令人讨厌的 :-) 内存泄漏。
setDelegate 后无法释放委托类:因为程序会崩溃。
这是我的代码:
self.parserDelegate = [[ParserDelegate alloc] init]; //retainCount:1
self.xmlParser = [[NSXMLParser alloc] initWithData:self.xmlData];
[self.xmlParser setDelegate:self.parserDelegate]; //retainCount:2
[self.xmlParser parse];
[self.xmlParser release];
ParserDelegate 是委托类。
当然,如果我将 'self' 设置为委托,我不会有任何问题,但我想知道是否有办法使用不同的类作为委托而不会泄漏。
提前谢谢你。
【问题讨论】:
标签: iphone objective-c memory-management memory-leaks delegates