Сбой в -dealloc с сообщением, отправленным на освобожденный экземпляр - PullRequest
1 голос
/ 06 декабря 2011

Всякий раз, когда я строю и запускаю, я не получаю ошибок или предупреждений.Затем я попытался установить NSZombieEnabled.Я получаю следующий сбой:

2011-12-06 16: 08: 46.869 APITextProject [4194: 207] * - [APITextProjectViewController dealloc]: сообщение отправлено на освобожденный экземпляр 0x5a31480

Вот мой код:

#pragma ASI Delegate methods
- (void)requestFinished:(ASIHTTPRequest *)request
{
    NSLog(@"Request finished successfully");
    NSLog(@"%@",[request responseString]);

    NSDictionary *responseDictionary = [[request responseString]JSONValue];
    NSDictionary *arrayElement = [responseDictionary objectForKey:@"user"];

    NSString *ID = [arrayElement valueForKeyPath:@"id"];
    NSLog(@"id: %d",ID);
    NSString *usr = [arrayElement valueForKeyPath:@"usr"];
    NSLog(@"usr: %@",usr);
    NSString *gd = [arrayElement valueForKeyPath:@"gd"];
    NSLog(@"gd: %@",gd);
    NSString *age = [arrayElement valueForKeyPath:@"ag"];
    NSLog(@"ag: %@",age);
    NSString *st = [arrayElement valueForKeyPath:@"st"];
    NSLog(@"st: %@",st);
    NSString *lf = [arrayElement valueForKeyPath:@"lf"];
    NSLog(@"lf: %@",lf);
    NSString *da = [arrayElement valueForKeyPath:@"da"];
    NSLog(@"da: %d",da);

    for(NSString *value in [arrayElement allValues]){
        NSLog(@"Found Value %@",value);     
        label.text = value;
        [super release];
    }
}

Ответы [ 3 ]

3 голосов
/ 06 декабря 2011

Пожалуйста, удалите эту строку.

[super release];

НИКОГДА не должно иметь смысла вызывать релиз на супер.

1 голос
/ 06 декабря 2011

Я чувствую, что ваша проблема заключается в строке [super release] внутри for цикла.

0 голосов
/ 06 декабря 2011

Почему вы вызываете [super release] в своем методе делегата запроса? Почему вы бы назвали супер релиз?

...