在.m文件中的一个IBAction中有多个if语句不起作用

时间:2011-02-09 01:04:47

标签: iphone objective-c ios

我正在制作一款能够根据测验答案生成内容的iPhone应用。我希望答案按钮能够更改问题文本,有时还会更改按钮标签文本。

背景资料:

  • 'a'是一个按钮
  • 'questionNumber'是问题编号(duh),这就是按钮每次按下时都会以不同方式更改文本的原因。

以下是我正在使用的代码:

-(IBAction) a 
{
    questionNumber == 0;

    if(questionNumber == 0) {

        question.text = @"How Much Do You Use Suppressed Weapons?";
    }

    questionNumber == 1;

    if(questionNumber == 1) {

        question.text = @"Do You Like Sleight of Hand?";

        answerA.text = @"Yes";
        answerB.text = @"No";
        [answerC setHidden:YES];
        [answerD setHidden:YES];
        [answerButton3 setHidden:YES];
        [answerButton4 setHidden:YES];
    }
}

并重复其他按钮(b,c和d)。我认为它应该工作,但它不会做“你喜欢手法”的问题。它只是停留在你使用抑制武器问题的程度。请帮忙!我真的想进入iPhone的xcoding 顺便说一句,我不确定这个问题的标签是否正确。

相关问题:How can I have an IBAction that has more than two 'if' statements?

2 个答案:

答案 0 :(得分:2)

您未分配给questionNumber。你在比较。

questionNumber == 1;

这是一个noop。它测试questionNumber是否为1,然后抛弃结果。你想要

questionNumber = 1;

答案 1 :(得分:-1)

尝试将switch语句与breaks一起使用。

switch (questionNumber)
{
    case 0:
    {
        question.text = @"How Much Do You Use Suppressed Weapons?";
    }
        break;
    case 1:
    {
           question.text = @"Do You Like Sleight of Hand?";

           answerA.text = @"Yes";
           answerB.text = @"No";
           [answerC setHidden:YES];
           [answerD setHidden:YES];
           [answerButton3 setHidden:YES];
           [answerButton4 setHidden:YES];
    }
        break;
}
相关问题