Как перемещаться из класса делегата приложения в оконном приложении iPhone. Как написать метод pushViewcontroller в классе делегата приложения

  • В моем базовом оконном приложении мне нужно перейти к просмотру информации из моего приложения, когда я нажимаю кнопку просмотра предупреждений.
  • просмотр предупреждений работает с NSlog.
  • Но мне нужно перейти к другому виду, для этой цели я использовал

    [self.navigationController pushViewController: анимированная информация: ДА];

но это не толкает. только nslog печатает

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    //To count the number of launches
    NSInteger i = [[NSUserDefaults standardUserDefaults] integerForKey:@"numOfCalls"];
    [[NSUserDefaults standardUserDefaults] setInteger:i+1 forKey:@"numOfCalls"];
    NSLog(@"the number of active calls are %d",i%3);
    if(i%3==0 && i!=0)
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"you might prefer MedChart+"  message:@"Get it now for more options" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok",nil];
        [alert show];
        [alert release];
    }

}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{

        if (buttonIndex == 0)
        {
             NSLog(@"canceled");

        }
        else if (buttonIndex == 1)
        {
            NSLog(@"Pushed to the information view ");

            InformationViewCotroller *info =  [[InformationViewCotroller alloc]initWithNibName:@"InformationViewCotroller" bundle:nil];
            [self.navigationController pushViewController:info animated:YES];     

        }

}

(не рассматривайте значения «i», это часть моей логики). заранее спасибо


person iOS dev    schedule 22.02.2012    source источник
comment
Вы проверили, что self.navigationController является допустимым объектом?   -  person bneely    schedule 22.02.2012
comment
Да, я уже заявил об этом в appdelegate.h   -  person iOS dev    schedule 22.02.2012
comment
Вы распечатали его значение в отладчике или в журнале?   -  person bneely    schedule 22.02.2012


Ответы (1)


Перед переходом к любому viewController установите RootController для вашего navigationController appDelegate. Добавьте navigationController.View в качестве subview окна. Тогда ваш корневой контроллер будет первым ViewController. Оттуда вы можете нажать на любой viewController.

person Sree    schedule 22.02.2012