2010-04-22 61 views
0

我有下面的代码泄漏:iPhone泄漏的NSString

NSString * string; 
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)str{ 
    string = [NSString stringWithFormat:@"%@", str]; 
} 

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName 
    namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { 

    NSString * value = [string stringByReplacingOccurrencesOfString:@"\n" withString:@""]; 

} 

但我不明白什么是概率。你能帮我吗? :s

+0

没有泄漏。只是你正在创建很多临时对象。 – kennytm 2010-04-22 09:27:39

+0

你有没有理由认为有泄漏?从我可以告诉所有在这种情况下的字符串实例是autoreleased。 – djhworld 2010-04-22 09:29:09

+1

你有没有NSAutoreleasePool设置,处理自动发布的NSStrings? – Twelve47 2010-04-22 09:40:39

回答

0

变量“string”是否始终从autorelease池中分配?如果不是,那么第一个函数可能会被怀疑为“字符串”,如果它已经被另一个字符串初始化,则不会在赋值之前被释放。这会泄漏。