【发布时间】:2011-01-19 10:08:16
【问题描述】:
我正在编写一个应用程序,它解析一些 xml 并使用以下关键方法创建元素名称及其值的字典:
- (void)parserDidStartDocument:(NSXMLParser *)parser{
foundCharacters = [[NSMutableString alloc] init];
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
if (accumulator) {
[foundCharacters appendString:string];
}
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if ([foundCharacters length] != 0) {
[parsedContent setObject:[foundCharacters copy] forKey:elementName];
}
}
泄漏发生在“[parsedContent setObject:[foundCharacters copy] forKey:elementName];”上行,我想不出办法来克服这个问题。
任何见解将不胜感激。
编辑:
只有在多次调用要解析的请求时才会发生内存泄漏
我也尝试过“[[foundCharacters copy] autorelease]”,但没有 avale
【问题讨论】:
-
你在哪里发布 foundCharacters。
-
在上面的代码中,我在 dealloc 方法中发布它
标签: objective-c parsing memory-leaks nsstring