-2

私は Objective-C と C 言語の初心者です。

私のコードは次のようになります:

- (IBAction)button:(id)sender {
    int randomproces = rand() % 3;
    switch (randomproces) {
        case 0:
            //do this
            break;
        case 1:
            //do this
            break;
        case 2:
            //do this
            break;
        default;
            break;
    }
}

ここで、別の 3 つのボタンに何かを設定して、ランダムな状況に応じて正しくまたは正しくないようにしたいと考えています。

- (IBAction)b1:(id)sender {
    //if case 0 then set it correct
    //else incorrect
}

- (IBAction)b2:(id)sender {
    //if case 1 then set it correct
    //else incorrect
}

// etc

どうすればいいですか?

4

2 に答える 2

2

私があなたの質問を正しく理解していれば、のハンドラーでさまざまなことをしたいですか?のハンドラーb1で選択されたランダムな値に応じb2て?b3button

その場合、おそらく最も簡単な方法は、乱数変数をbuttonグローバルに作成し、それを他の 3 つのボタン ハンドラーで使用することです。

int randomprocess = -1;

- (IBAction)button:(id)sender {
    randomproces = rand() % 3;
    // Do other stuff if needed
}

- (IBAction)b1:(id)sender {
    if (randomprocess == 0) {
        // Do something
    } else {
        // Do something else
    }
}

- (IBAction)b2:(id)sender {
    if (randomprocess == 1) {
        // Do something
    } else {
        // Do something else
    }
}

- (IBAction)b3:(id)sender {
    if (randomprocess == 2) {
        // Do something
    } else {
        // Do something else
    }
}
于 2012-09-12T09:00:48.110 に答える
0

したがって、switch ステートメントを使用する必要があります。

switch (num)
{
    case 1:
        //do code
        break;

    case 2:
        //more code
        break;

    default:
        //num didn't match any of the cases.
        //process as appropriate
}

注意事項:

  • 各ケースの最後の休憩は重要です。これを省略すると、ケースは次のケースにフォールスルーします。これは意図的な場合もありますが、一般的にはそうではなく、微妙で理解しにくいバグが発生します。
  • 「デフォルト」のラベルとコードはオプションです。ただし、何かが間違っている可能性があり、そのように対処する必要があるため、例外的な状況に対してデフォルトのケースを用意するのは良いプログラミング スタイルです。
于 2012-09-12T09:05:28.267 に答える