2010-04-07 4 views
0

J'ai 3 xib différents. Je suis en mesure d'aller-retour entre 1 vue et vue 2 avec le code suivant ...Problème du contrôleur UINavigation pour iPhone?

Ce code affiche la deuxième vue ...

-(IBAction)startButtonClicked:(id)sender{ 

    self.gamePlayViewController = [[GamePlayViewController alloc] initWithNibName:@"GamePlayViewController" bundle:nil]; 
    [self.navigationController pushViewController:gamePlayViewController animated:YES]; 
    [GamePlayViewController release]; 


} 

Ce code est exécuté dans la deuxième vue et me ramène à la première vue ...

- (IBAction) backButtonClicked {

[self.navigationController popViewControllerAnimated:YES]; 

}

Maintenant, quand j'essaie d'exécuter ce code (dans la deuxième vue) pour arriver à la troisième vue ... Je reçois SIGABRT et l'application se bloque ... pourquoi ça marche pour la première vue qui affiche la deuxième vue, mais pas pour la deuxième vue apportant la 3ème vue?

- (IBAction) nexTView {

self.thirdViewController = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController" bundle:nil]; 
     [self.navigationController pushViewController:thirdViewController animated:YES]; 
     [thirdViewController release]; 

} 

Répondre

0

Il y a probablement un objet ou à la sortie de ThirdViewController.xib que vous avez oublié de configurer ou mal configuré. Comparez et contrastez ThirdViewController.xib et GamePlayViewController.xib, en portant une attention particulière à la manière dont vous avez configuré les noms de classe et les prises de ThirdViewController.xib. En particulier:

  1. Assurez-vous que le propriétaire du fichier est correctement défini sur ThirdViewController.
  2. Assurez-vous que la prise de vue du propriétaire du fichier est correctement connectée à sa vue.
Questions connexes