如果在Objective-C中的rand()之后的语句

时间:2012-09-12 08:53:00

标签: objective-c random if-statement switch-statement

我是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

我该怎么做?

2 个答案:

答案 0 :(得分:2)

如果我正确理解了您的问题,您希望在b1b2b3的处理程序中执行不同的操作,具体取决于{button处理程序中选择的随机值{1}}?

在这种情况下,最简单的可能是在button全局中创建随机数变量,并在其他三个按钮处理程序中使用它:

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
    }
}

答案 1 :(得分: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
}

有些注意事项:

  • 每个案件结束时的休息很重要。如果省略这一点,案件将进入下一个案例。虽然这有时是有意的,但通常情况并非如此,导致细微且难以理解的错误。
  • '默认'标签和代码是可选的。然而,对于特殊情况,有一个默认情况是很好的编程风格,因为某些事情可能出错了,你应该这样处理它。