2010-04-22 175 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池中分配?如果不是,那麼第一個函數可能會被懷疑爲「字符串」,如果它已經被另一個字符串初始化,則不會在賦值之前被釋放。這會泄漏。