Múltiples UIActionSheets en el mismo delegado

Estoy escribiendo un juego de rompecabezas. Cuando el usuario presiona el botón de verificación, veo si la solución que ingresó es correcta. Dependiendo del resultado, les presento una de las dos hojas de acción. Por ahora solo tengo algunas declaraciones de NSLog para asegurarme de que las cosas se llamen, pero solo una de las hojas parece funcionar correctamente.

o se llama a nada cuando hago clic en un botón en showErrorsActionSheet. La hoja de acción desaparece de la pantalla, pero los registros nunca se imprimen.

Sospecho que tiene algo que ver con tener dos hojas de acciones declaradas al mismo delegado (self)

- (void) checkSolution {

    //code determines the value of the BOOL allCorrect 

    if (allCorrect) { //IF ALL OF THE LETTERS WERE CORRECT
        //display UIAlertView;
        NSLog(@"allCorrect");
        UIActionSheet *levelCompleteActionSheet = [[UIActionSheet alloc] initWithTitle:@"Congratulations! You Have Finished the Level!" delegate:self cancelButtonTitle:@"Review my work" destructiveButtonTitle:@"Choose next puzzle" otherButtonTitles:nil, nil];
        [levelCompleteActionSheet showInView:self.view];
        [levelCompleteActionSheet release];
    }
    else {
        //[self showIncorrectLettersInRed];

        UIActionSheet *showErrorsActionSheet = [[UIActionSheet alloc] initWithTitle:@"Sorry, thats not right. Show errors in red?" delegate:self cancelButtonTitle:@"No Thanks, I'll keep trying" destructiveButtonTitle:@"Yes please, I'm stuck!" otherButtonTitles:nil, nil];
        [showErrorsActionSheet showInView:self.view];
        [showErrorsActionSheet release];
    }
}

los métodos que se supone que deben llamarse son:

- (void) levelCompleteActionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
    if (buttonIndex != [actionSheet cancelButtonIndex]) {
        NSLog(@"return to levelSelect");
        //pushViewController:levelSelect
    }
    else {
        NSLog(@"continue to examine solution");
    }
}


- (void) showErrorsActionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
    if (buttonIndex != [actionSheet cancelButtonIndex]) {
        NSLog(@"show errors in red");
    }
    else {
        NSLog(@"continue to try");
    }
}

y he declarado el protocolo UIActionSheet en el archivo de interfaz de la siguiente manera:

@interface GamePlay : UIViewController <UIActionSheetDelegate> {

Respuestas a la pregunta(6)

Su respuesta a la pregunta