1
嗨我想解析一個XML並使用代碼內的currentElementValue來得到一個expired。這是代碼。NSXMLParser(iPhone)中的內存問題
if([elementName isEqualToString:@"utlop"]) {
NSDate *now = [NSDate dateWithTimeIntervalSinceNow:0];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateStyle:NSDateFormatterShortStyle];
int numberOfDays = [currentElementValue intValue];
NSDate *expireDate = [now addTimeInterval:60*60*24*numberOfDays];
NSString *expireString = [dateFormat stringFromDate:expireDate];
NSLog(@"ExpiryString :%@", expireString);
//Add values to Vare
enVare.utlop = expireString;
enVare.enhet = enhet;
enVare.isDirty = NO;
//Add Vare
[appDelegate addVare:enVare];
//Releasing
[dateFormat release];
[enVare release];
enVare = nil;
[currentElementValue release];
currentElementValue = nil;
[expireString release];
expireString = nil;
這導致內存泄漏,但進出口新的目標C,所以我找不到錯誤。當我這樣做時,它可以工作:
enVare.utlop = currentElementValue;
但我已經分配了enVare和currentElementValue以及代碼。這就是爲什麼這個工程:enVare.utlop = currentElementValue; 當我這樣做時沒有問題。 – Leif 2011-03-07 08:39:11
如果你想找到泄漏的細節請參考構建和分析項目。你可以說分析項目後在哪一行發生泄漏 – visakh7 2011-03-07 08:42:52
expireString應該不需要釋放,因爲你沒有分配或保留它。 – Wex 2011-03-07 21:55:56