EXC_BAD_ACCES puchviewcontroller tableview - PullRequest
       16

EXC_BAD_ACCES puchviewcontroller tableview

1 голос
/ 26 октября 2011

У меня проблема при компиляции проекта для ios5. Этот код ниже работает на ios4.3. Во время выполнения ядро ​​генерирует исключение Маха EXC_BAD_ACCESS в этой строке:

[[self navigationController] pushViewController:choixQuotidienTableViewController animated:YES];

В didSelectRowAtIndexPath для моего просмотра таблицы:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:NO];

    // requête avec la langue choisie
    NSArray *codes = [arrayLangages valueForKey:@"code"];
    NSString *codeSelect = [codes objectAtIndex:indexPath.row];

    //NSLog(@"selected code : %@", codeSelect);

    // init table view Choix Quotidien
        ChoixQuotidienTableViewController *choixQuotidienTableViewController = [[ChoixQuotidienTableViewController alloc] initWithStyle:UITableViewStylePlain andCode:codeSelect];

    //choixQuotidienTableViewController.fromLangue = resultsArrayKioskLangue;
    if([self navigationController] == nil)
    {
        NSLog(@"navigationController IS NIL!!!");
    }
    else
    {
        NSLog(@"Nav controller IS OK!");
        if(!choixQuotidienTableViewController)
        {
            NSLog(@"choixcontroller IS NIL!!!");
        }
        else
        {
            NSLog(@"choix controller IS OK!");
            [[self navigationController] pushViewController:choixQuotidienTableViewController animated:YES];
        }
    }
    choixQuotidienTableViewController = nil;
}

Не могли бы вы помочь мне? что-то изменилось в ios5?

Спасибо!

ОБНОВЛЕНИЕ: ОК, что-то новое ...: Я использовал профиль> Зомби. Этот инструмент показал мне ошибку в [ChoixQuotidienTableViewController tableView: cellForRowAtIndexPath:] ... CRAZY!

Я использовал собственную ячейку ... когда я исправляю это, она работает ...

Спасибо за вашу помощь!

Ответы [ 2 ]

1 голос
/ 26 октября 2011

Трудно сказать без кода.

BAD_ACCESS не создается этим кодом.Но имейте в виду, что choixQuotidienTableViewController будет протекать, если вы не отпустите его (кроме случаев, когда вы используете ARC).

Убедитесь, что [self navigationController] возвращает действительный объект, который не был освобожден.

Также может помочь трассировка стека отладчика.

0 голосов
/ 26 октября 2011

Вы пробовали [choixQuotidienTableViewController release]; вместо choixQuotidienTableViewController = nil;?

...