我现在可能应该被优秀的程序员和伟大的头脑击中,因为我当前的代码看起来如何,即使我是 Objective-C 的菜鸟。无论如何,我正在做一个标志测验,其中问题是随机顺序的,然后每个问题的选择也是随机顺序的。无论如何,我已经有下面的代码来检查选择答案时页面应该重定向到哪里:
- (IBAction)answerA:(UIButton *)sender {
if(imgView.image == [UIImage imageNamed:@"1.png"])
{
if([btnA.titleLabel.text isEqualToString:@"1"])
{
[btnA addTarget:self action:@selector(correctView) forControlEvents:UIControlEventTouchUpInside];
}
else
{
[btnA addTarget:self action:@selector(wrongView) forControlEvents:UIControlEventTouchUpInside];
}
}
else if(imgView.image == [UIImage imageNamed:@"2.png"])
{
if([btnA.titleLabel.text isEqualToString:@"2"])
{
[btnA addTarget:self action:@selector(correctView) forControlEvents:UIControlEventTouchUpInside];
}
else
{
[btnA addTarget:self action:@selector(wrongView) forControlEvents:UIControlEventTouchUpInside];
}
}
- (IBAction)answerB:(UIButton *)sender {
if(imgView.image == [UIImage imageNamed:@"1.png"])
{
if([btnB.titleLabel.text isEqualToString:@"1"])
{
[btnB addTarget:self action:@selector(correctView) forControlEvents:UIControlEventTouchUpInside];
}
else
{
[btnB addTarget:self action:@selector(wrongView) forControlEvents:UIControlEventTouchUpInside];
}
}
else if(imgView.image == [UIImage imageNamed:@"2.png"])
{
if([btnB.titleLabel.text isEqualToString:@"2"])
{
[btnB addTarget:self action:@selector(correctView) forControlEvents:UIControlEventTouchUpInside];
}
else
{
[btnB addTarget:self action:@selector(wrongView) forControlEvents:UIControlEventTouchUpInside];
}
}
}
这可行,但问题是,您必须单击该按钮两次才能转到相应的页面。我知道问题是 IBAction 本身已经是一个在单击按钮后触发的事件,然后我在条件语句中包含代码,只有在再次单击按钮时才会触发。我的问题是,我该如何修改它,以便如果单击按钮一次,它会立即检查当前问题,然后检查正确答案?