UIAlertview вызывается несколько раз - PullRequest
0 голосов
/ 13 января 2012

У меня есть следующий код в моем приложении. На контроллере представления у меня есть два элемента управления UIButton, каждый из которых выполняет разные операции. Когда я нажимаю первую кнопку, у меня есть UIAlertView для подтверждения операции. Это отлично работает. Я настраиваю вторую кнопку таким же образом. Когда я нажимаю вторую кнопку, на короткое время появляется первый UIAlertView, а затем появляется второй UIAlertView. В этот момент все работает нормально, но затем снова появляется первый UIAlertView.

Если я полностью вынимаю UIAlertViews и просто обновляю метку в представлении, чтобы указать, какая кнопка была нажата, я не получаю ни одну из кнопок, вызываемых во второй раз, поэтому я изолировал это для включения UIAlertViews.

Может кто-нибудь указать на что-то в моем коде, что вызывает это? Вот код.

- (IBAction)clearInspectionsClicked {

    UIAlertView *alertClear = [[UIAlertView alloc] initWithTitle:@"Please Confirm" 
                                            message:@"Clear out all inspection data?" 
                                            delegate:self 
                                            cancelButtonTitle:@"Clear" 
                                            otherButtonTitles:@"Cancel", nil];
[alertClear show];

}

- (IBAction)loadSampleDataClicked {

    UIAlertView *alertLoad = [[UIAlertView alloc] initWithTitle:@"Please Confirm" 
                                                    message:@"Load Sample data?" 
                                                   delegate:self 
                                          cancelButtonTitle:@"Load" 
                                          otherButtonTitles:@"Cancel", nil];
    [alertLoad show];
}


-(void) alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
    if ([title isEqualToString:@"Clear"])
    {
        [self clearInspections];
        [self.StatusLabel setText:@"Inspection data has been cleared!"];
    }
    if ([title isEqualToString:@"Load"])
    {
        [self loadSampleData];
        [self.StatusLabel setText:@"Sample data has been loaded!"];
    }
}

1 Ответ

1 голос
/ 13 января 2012

Возможно ли, что одна из кнопок связана с двумя из этих действий? можно привязать несколько действий к одному заданному элементу управления в Интерфейсном Разработчике, и это вызвало бы это точное поведение.

...