ошибка с несколькими навигационными контроллерами - PullRequest
0 голосов
/ 28 мая 2011

Я делаю приложение, которое имеет 2 контроллера навигации.У одного есть tableView, и при нажатии в ячейках я хочу загрузить другой viewController, но у меня всегда есть эта ошибка:

fifthvieController may no respond to -navigationController2

Вот код:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

                                                                  NSString *letraSeleccionada = [lista objectAtIndex:indexPath.row];
    FourthViewController *fourth = [[FourthViewController alloc]initWithNibName:@"FourthViewController" bundle:nil];
    fourth.letraSeleccionada = letraSeleccionada;

    [[self navigationController2] pushViewController:fourth animated:YES]; //here
    [fourth release];
    fourth = nil;   

}

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

      PruebaPushAppDelegate *delegate = [[UIApplication sharedApplication]delegate];

[delegate.navigationController2 pushViewController:fourth animated:YES];

//[[self navigationController2] pushViewController:fourth animated:YES];

Ответы [ 2 ]

1 голос
/ 28 мая 2011

Поскольку вы используете два контроллера навигации, я предполагаю, что это приложение панели вкладок с двумя вкладками и по одному элементу навигации для каждого?И вы использовали конструктор интерфейса для этого?

Если это так, вам не нужно объявлять ваши контроллеры навигации, потому что ваши контроллеры представления уже находятся внутри них как первый контроллер представления.

Просто попробуйте:

[[self navigationController] pushViewController:fourth animated:YES];
0 голосов
/ 28 мая 2011

Вы объявили navigationController2 как свойство? Похоже, это только переменная. Вы можете использовать «self» только с ним, если вы используете свойства.

@property (nonatomic, retain) UINavigationController navigationController2;// in .h
@synthesize navigationController2; //in .m
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...