1

forループ内でUIAlertViewsを使用して、アラートビューのテキストボックスに入力する数値を合計しようとしていますが、問題は、forループの実行と同じ回数だけアラートが表示されることであり、作成方法がわかりませんループはアラートビューでボタンが押されるのを待ってから、再びループします。以下の例では、アラート ビューを 3 回表示して、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 に答える