UIAlertview被多次调用

时间:2012-01-12 20:20:22

标签: xcode uialertview

我的应用程序中有以下代码。在视图控制器上,我有两个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 个答案:

答案 0 :(得分:1)

是否有可能将其中一个按钮连接到其中两个操作?可以将多个操作连接到Interface Builder中的一个给定控件,这会导致这种确切的行为。