pushviewcontroller не работает, потому что self.navigationController имеет значение null - PullRequest
1 голос
/ 03 октября 2011

У меня большая проблема: при методе didSelectRowAtIndexPath я всегда получаю нулевое значение для self.navigationController.У меня есть UIViewController, который содержит UIsegmentedControl и subView.В этом подвиде я добавляю контроллеры для каждого выбранного сегмента.Для каждого сегмента есть таблица.Вот проблема: когда я выбираю строку из этого табличного представления, я не могу сделать push для следующего контроллера, потому что self.navigationController имеет значение null.

Пожалуйста, помогите мне .. Вот мой код: http://pastebin.com/qq0vf7mq

без кода:

navigationTelephone=[[UINavigationController alloc] init];
    [self.view addSubview:self.navigationTelephone.view];
    [self.navigationTelephone setNavigationBarHidden:YES];
    [self.view addSubview:tableViewTelephone];

Ответы [ 4 ]

0 голосов
/ 08 июля 2012

Просто проверьте, изменив,

self.navigationTelephone=[[UINavigationController alloc] init];

Навин Шань

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

Обновлен:

Вы инициализируете переменную экземпляра navigationTelephone и отображаете ее, но вы используете self.navigationController для нажатия! Используйте [navigationTelephone push...] вместо

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

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

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    myAudiPhoneInputViewController *myViewController = [[myAudiPhoneViewController alloc] initWithNibName:@"NIB NAME HERE" bundile:nil];
    self.myaudiPhoneInputViewController = myViewController;
    [myViewController release];

    [tableViewTelephone deselectRowAtIndexPath:indexPath animated:NO];

    if(indexPath.row==0){

        NSLog(@"Tel.personnel... %@",self.navigationTelephone);


        [self.navigationController pushViewController:self.myaudiPhoneInputViewController animated:YES];

    }
}

Вы не создали экземпляр своего myaudiPhoneViewController, поэтому он не выдвигает представление.

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

Я думаю, вы инициализировали UINavigationController, как показано ниже

[[UINavigationController alloc] initWithRootViewController:ViewControllerOBj]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...