1

我正在尝试在 for 循环中使用 UIAlertViews 来汇总应在警报视图的文本框中输入的数字,但问题是警报显示的次数与 for 循环运行的次数一样多,我不知道如何制作循环等待警报视图上的按钮按下,然后再次循环。在下面的示例中,我希望警报视图出现 3 次,以便我可以输入三个数字,然后找到这些数字的总和。有人可以帮我吗?下面是我的代码。谢谢

int noOfInductorsSelected=3;

for (int i=1; i<=noOfInductorsSelected; i++) {
    NSString *counter = [NSString stringWithFormat:@"Enter Value for Inductor no %d :",i];
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Inductance Value" message:counter delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Enter", nil];
    alert.alertViewStyle = UIAlertViewStylePlainTextInput;
    [alert show];
}
4

1 回答 1

2

这是一个相当有问题的界面,您可能需要考虑考虑您需要什么以及是否有更好的方法来收集该信息。

但是,如果您必须这样做,而不是在 for 循环中运行警报,您需要一个实例变量来存储迭代次数和到目前为止输入的值的总和。那么,在

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

在您获得用户输入的值的地方,您将增加您的计数器并调用该方法以再次显示警报。我不确定您是否应该直接从 alertView:clickedButtonAtIndex: 显示警报,但您最好使用 performSelecter:wihtObject:afterDelay: 以便应用程序可以通过运行循环正常继续。

于 2012-04-28T16:31:05.167 回答