将IF STATEMENT应用于我的单词生成器

时间:2013-06-17 23:04:49

标签: objective-c if-statement conditional

当我尝试在我的word生成器中添加“if”语句时,我收到一条错误,指出“预期表达式”。如果我取出if语句,它工作正常,但我想要做的是有几个字生成器,并根据我的变量“变量”的值确定访问哪个字生成器。

示例:如果“variable”等于1,则访问第一个字生成器。如果“变量等于2,则访问第二个字生成器

以下是我的实施文件中的代码。

#import "ViewController2.h"
#import "ViewController.h"
#import "ViewController3.h"


@interface ViewController2 ()
@end

@implementation ViewController2
-(IBAction)random {
    if (int variable = 3) {
        int text = rand() %3;
        switch (text) {
            case 0:
                introLabel.text = @"Test 1";
                break;
            case 1:
                introLabel.text = @"Test 2";
                break;
            case 2:
                introLabel.text = @"Test 3";
                break;

            default:
                break;
        }
    }
}
-(IBAction)backButton:(id)sender {
    ViewController *viewController2 = [[ViewController alloc] initWithNibName:nil     bundle:nil];
    [self presentModalViewController:viewController2 animated:YES];
}

-(IBAction)moreButton:(id)sender {
    ViewController3 *viewController2 = [[ViewController3 alloc] initWithNibName:nil     bundle:nil];
    [self presentModalViewController:viewController2 animated:YES];
}

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

你的问题不清楚,但我认为你在谈论这条线:

if (int variable = 3) {

这是无效的Objective-C语法。也许你想要:

if (variable == 3) {

这假设您有一个名为variable的实例变量(这是一个可怕的名称)。

因此,您的random方法就像:

-(IBAction)random {
    if (variable == 1) {
        int text = rand() %3;
        switch (text) {
            case 0:
                introLabel.text = @"Test 1";
                break;
            case 1:
                introLabel.text = @"Test 2";
                break;
            case 2:
                introLabel.text = @"Test 3";
                break;

            default:
                break;
        }
    } else if (variable == 2) {
        // process the 2nd word generator here
    } else if (variable == 3) {
        // process the 3rd word generator here
    }
}

同样,您需要添加名为variable的实例变量,并在适当的位置设置该值。或者variable可以是另一个分配了rand()值的局部变量,就像使用text变量一样。