【发布时间】:2010-12-14 13:35:17
【问题描述】:
我在代码中使用了两个对象,即 pagesUrl 和 pagesXmlParser,在它们使用之后,我释放了这两个对象。它运行良好,但在内存泄漏中显示它们。当我试图验证它时,我检查了这些对象的引用计数及其显示“1”,即使在对象被释放后也是如此。谁能帮我解决如何消除泄漏以及如何在以下代码中释放这些特定对象。
-(void)loadPagesForChapter:(NSString *)path{
// have to parse the pages xml for this chapter
NSURL *pagesUrl = [[NSURL alloc] initFileURLWithPath:[self pagesXmlPath:path]];
NSXMLParser *pagesXmlParser = [[NSXMLParser alloc] initWithContentsOfURL:pagesUrl];
PagesAccumulator *pageLoader = [[PagesAccumulator alloc] init];
pagesXmlParser.delegate = pageLoader;
[pagesXmlParser parse];
// parsing pages done
// get the pages array
self.arrayOfPages = pageLoader.arrayOfPages;
[pageLoader release];
[pagesXmlParser release];
[pagesUrl release];
NSLog(@"pagesurl retain count is:%d",[pagesUrl retainCount]);
NSLog(@"pagesxmlparser retain count is:%d",[pagesXmlParser retainCount]);
}
提前感谢您的帮助。
【问题讨论】:
-
设备或模拟器中的泄漏 - 如果是模拟器中的泄漏,请在设备上进行测试 - 模拟器有时会给您错误的结果!
标签: iphone objective-c ipad