Проблема с памятью в NSXMLParser (iPhone) - PullRequest
1 голос
/ 07 марта 2011

Привет. Я пытаюсь разобрать xml и использовать currentElementValue внутри кода, чтобы получить срок действия.Это код.

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;

1 Ответ

0 голосов
/ 07 марта 2011

Не отпускайте объекты, которые вам не принадлежат. Вы владеете объектом, когда создаете его, используя new или alloc. Выпускать только те объекты, которые созданы вами с помощью этих функций. Также убедитесь, что вы освободили такие объекты после того, как закончили их использование.

...