【发布时间】:2011-10-05 13:40:44
【问题描述】:
在连接到 Web 服务时,我使用了一个名为“soapResults”的类成员。我使用解析器来解析 xml 结果(它是 Web 服务中的 json 结果)。
- (void) parser:(NSXMLParser *) parser
didStartElement:(NSString *) elementName
namespaceURI:(NSString *) namespaceURI
qualifiedName:(NSString *) qName
attributes:(NSDictionary *) attributeDict {
NSString *attName = [[NSString alloc]initWithFormat:@"%@Result",methodName];
if ([elementName isEqualToString:attName]) {
if (!soapResults) {
soapResults = [[NSMutableString alloc] init];
}
elementFound = YES;
}
[attName release];
}
现在soapResults 是一个retain 成员并在dealloc 中释放。我试图在连接失败/通过时释放它,但没有成功。我也尝试过不分配它,但结果是空的....任何帮助都会得到满足
编辑: 我还在解析器中遇到内存泄漏:
-(void)parser:(NSXMLParser *) parser
foundCharacters:(NSString *)string {
if (elementFound) {
[soapResults appendString: string];//Memory leak here
}
}
【问题讨论】:
标签: iphone objective-c web-services memory-leaks