当值超出其范围时启动方法

时间:2014-10-24 19:40:16

标签: objective-c if-statement methods frequency between

我在使用以下代码时遇到了一些麻烦。本质上,我试图在值介于45和46之间时启动一个方法,然后超出这些范围。

if(value >= 45 && value < 46){
    if(value >= 46 && value < 45){
        [self updateTwo];
    }
    else{
        [frequencyImage setImage:A3StaveSemiQuaver];
    }
}

我已经使用NSLog尝试调试此问题,我发现第二个if语句没有触发。

编辑: 对于这种混乱感到抱歉,我认为最好的解释方法是“价值”与设备麦克风的声音频率(以Hz为单位)有关。它不断检查频率并更新“值”。我想找到一种方法,如果值变为45然后随后成为45以外的值,则触发方法。例如,值为25,44,45,10 - 我希望方法在10上触发我不是最擅长解释它,为此道歉!谢谢你的帮助:)

1 个答案:

答案 0 :(得分:1)

您的2nd if声明位于第一个if

所以看看你的first if哪个匹配的数字只有45(检查一下)。 您的second if会在first if之后触发,first if只有true false,这意味着您的号码为45 - &gt;将始终为true,因为它的声明与数字&gt; = 46相匹配(仅当&gt; = 46时才会返回first if,但如果它超过{{},则您的数字不能是&gt; = 46 1}}它必须只有45)。