我在使用以下代码时遇到了一些麻烦。本质上,我试图在值介于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上触发我不是最擅长解释它,为此道歉!谢谢你的帮助:)
答案 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)。