dismissing modalViewController de modalViewController

Así que tengo una aplicación UITabBarController y quiero mostrar una página de inicio de sesión, y así lo hice:

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(userDidLogin:) name:UserDidLoginNotification object:nil];
LoginViewController* loginViewController = [[LoginViewController alloc] init];
        self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:0];
        [self.tabBarController.selectedViewController presentModalViewController:loginViewController animated:NO];
        [loginViewController release];

Dentro de mi LoginViewController También puedo mostrar otro modalViewController:

- (void) twitterLogin: (UIViewController *) askingView
{
    UIViewController *controller = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine: _twitter delegate: self];

    if (controller) {
        self.askingView = askingView;
        [askingView presentModalViewController: controller animated: YES];
    }
}

Tengo el siguiente método donde el askView es el LoginViewController, cuando quiero descartar esto hago:

[self.askingView dismissModalViewControllerAnimated:YES];
    [[NSNotificationCenter defaultCenter] postNotificationName:UserDidLoginNotification object:nil];

Sin embargo, esto no descarta el LoginViewController y muestra las vistas de UITabBarController ... simplemente descarta mi modalViewController que se muestra desde el LoginvVIewController. ¿Qué estoy haciendo mal aquí? También recibo el siguiente error:

attempt to dismiss modal view controller whose view does not currently appear. self = <LoginViewController: 0x2aff70> modalViewController = <SA_OAuthTwitterController: 0x2d2a80>
2011-09-16 09:45:37.750 VoteBooth[4614:707] attempt to dismiss modal view controller whose view does not currently appear. self = <MainViewController: 0x29fec0> modalViewController = <LoginViewController: 0x2aff70>

Respuestas a la pregunta(3)

Su respuesta a la pregunta