【发布时间】:2014-10-24 19:40:16
【问题描述】:
我在下面的代码中遇到了一些麻烦。本质上,每当值介于 45 和 46 之间并随后超出这些范围时,我都会尝试启动一个方法。
if(value >= 45 && value < 46){
if(value >= 46 && value < 45){
[self updateTwo];
}
else{
[frequencyImage setImage:A3StaveSemiQuaver];
}
}
我已经使用 NSLog 来尝试调试这个问题,我发现第二个 if 语句没有触发。
编辑: 很抱歉造成混淆,我认为最好的解释方式是“价值”与设备麦克风发出的声音频率(以赫兹为单位)有关。它不断检查频率并更新“值”。如果值变为 45 然后随后变为 45 以外的值,我想找到一种方法来触发方法。例如说值是 25、44、45、10 - 我希望方法在 10 上触发. 我不是最擅长解释它,为此道歉!感谢您的所有帮助:)
【问题讨论】:
-
如果第一个 if 块的值必须大于 45 且小于 46,然后您的嵌套 if 块要求该值大于 46 且小于45...那永远不会发生?
-
我还是不太确定你在找什么……所以你希望这个值在 45 到 46 之间?
-
这没有意义。如果该值大于或等于 45 并且小于 46 只能是 45。下一条语句正在检查一个大于或等于 46 的值(我们已经从上面知道它是 45,所以这是一个失败)和也有条件地你要求值小于 45。你永远不能有一个大于 46 但小于 45 的数字。你到底想做什么?
-
@latenitecoder 谢谢你解释得比我好 :)
-
@evan.stoddard 没问题 :) - 我不确定 jamiemaison 想要达到什么目的。如果他回复我相信我们可以帮助他:)
标签: objective-c if-statement methods frequency between