当我尝试在我的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];
}
提前感谢您的帮助。
答案 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
变量一样。