if (value1 == 1 || value1 == 3 || value1 == 6) {
//Things happen
}
それはVALUE1を毎回参照ですので、これを行うための迅速な方法があります...私は持っていると言いますか?
if (value1 == 1 || value1 == 3 || value1 == 6) {
//Things happen
}
それはVALUE1を毎回参照ですので、これを行うための迅速な方法があります...私は持っていると言いますか?
実際はありません。
switch (value1)
{
case 1:
case 3:
case 6:
// Things happen
}
しかし、それは "より速く" ではありません。
代替です!
あなたは、switchステートメントを使用することができます。
switch (value1)
{
case 1:
case 3:
case 6:
//Things happen
break;
case 4:
//Something else happens
break;
default:
//Something else happens
}
あなたがそうでなければ、同じ変数をチェックするif文の多くを持っているつもりだった場合、これは便利です。あなたが何かやって意味場合
:
if (value1 in {1, 3, 6}) ...
をその後、いや、あなたはそのような何かを行うことはできません。 Objective-Cには基本型の集合演算子は一切ありません。ただし、コードを書く方法は他にもあります。同様の操作をすばやく行うことができます。可能な値の数があまり大きくない場合たとえば、あなたはビット位置を使用することができます。
if (value1 & (0x02 | 0x08 | 0x20)) ...
コンパイラはおそらく、OR、コンパイル時に一緒にこれらの定数、全体の比較としてだけの時間がかかるので、ビット単位のAND演算。
これはおそらくもっと効率的な方法です。これはおそらく私が使ったはずの単語です。私はスイッチを調べます。ありがとう。 – Andrew
@Andrew私の答えについてどう思いますか教えてください。 –
Downvoter:なぜか? –