Je suis nouveau dans l'iPhone SDK dev, et je ne suis pas un Englishman, donc mes excuses pour mon niveau.EXC_BAD_ACCESS dismissModalViewControllerAnimated
Voici mon problème: je ai un tabBarcontroller, avec 3 point, chacun a un navBarcontroller
[self.loginViewController release];
[self setLoginViewController:[[LoginViewController alloc] init]];
[[self loginViewController] setDelegate:self];
[[self loginViewController] isLoggued];
self.tabBarController = [[UITabBarController alloc] init];
_FirstViewController = [[[FirstViewController alloc] init] autorelease];
_FirstViewController.title = @"title 1";
UINavigationController* navController1 = [[[UINavigationController alloc]
initWithRootViewController:_FirstViewController] autorelease];
_SecondViewController = [[[SecondViewController alloc] init] autorelease];
_SecondViewController.title = @"title 2";
UINavigationController* navController2 = [[[UINavigationController alloc]
initWithRootViewController:_SecondViewController] autorelease];
_ThirdViewController = [[[_ThirdViewController alloc] init] autorelease];
_ThirdViewController.title = @"title 3";
UINavigationController* navController3 = [[[UINavigationController alloc]
initWithRootViewController:_ThirdViewController] autorelease];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:navController1, navController2, navController3, nil];
[self.window addSubview:self.tabBarController.view];
// adds the tab bar's view property to the window
[self.window makeKeyAndVisible];
[self.tabBarController release];
if ([self respondsToSelector:@selector(loginViewControllerLogout:)]) {
[self performSelector:@selector(loginViewControllerLogout:) withObject:[self loginViewController]];
}
return YES;
Ici c'est le sélecteur
-(void)loginViewControllerLogout:(LoginViewController *)loginViewController {
if (![self.loginViewController logguedIn])
[self.tabBarController presentModalViewController:self.loginViewController animated:YES];
}
Et quand je suis loggué, J'appelle:
-(void)loginViewControllerDidFinish:(LoginViewController *)loginViewController {
[self.loginViewController dismissModalViewControllerAnimated:YES];
}
Ce morceau de code fonctionne lorsque l'application est lancée pour les sapins t temps. LoginViewController affiché> connexion réussie> LoginViewcontroller ignorer> Affichage de FirstViewController. Mais si je vais à la thirdViewController, cliquez sur fermeture de session: sélecteur LoginViewControllerLogout appelé> LoginViewController affiché> Connexion Successfull> Accident dans le dismissModal.
Il n'y a pas d'erreur pile, juste l'erreur EXC_BAD_ACCESS. Il y a plus de 1 retenir pour loginViewController.
Merci à l'avance
EDIT: toutes les fonctions sont dans le AppDelegate
Comme je l'ai dit le projet de loi, je ne peux pas faire cette auto coz est mon AppDelegate *, donc il n'y a pas de « self.view » ... Merci pour votre réponse – Boubou95
Mais vous n'appeler la rejeter dans la présente vue, qui ne serait pas votre AppDelegate. Appelez ceci ici plutôt que de rappeler votre AppDelegate pour le faire. –
Même chose exc_bad_access. Dans mon AddDelegate, j'appelle une fonction dans le loginViewController avec: [self dismissModalViewControllerAnimated: YES]. – Boubou95