Несколько листов UIActionSheets в одном делегате

Я пишу головоломку. Когда пользователь нажимает кнопку проверки, я вижу, правильное ли введенное им решение. В зависимости от результата я представляю один из двух листов действий для них. На данный момент у меня есть несколько операторов NSLog, чтобы убедиться, что все вызывается, но кажется, что работает только один лист.

Ничего не вызывается, когда я нажимаю кнопку в showErrorsActionSheet, Лист действий исчезает с экрана, но журналы никогда не печатаются.

Я подозреваю, что это как-то связано с объявлением двух листов действий одному и тому же делегату (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];
    }
}

методы, которые должны быть вызваны:

- (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");
    }
}

и я объявил протокол UIActionSheet в файле интерфейса следующим образом:

@interface GamePlay : UIViewController <UIActionSheetDelegate> {

Ответы на вопрос(3)

Ваш ответ на вопрос