1
速度に関してはif/else
文とObjective Cのternary operator
文の使用に違いはありますか?それらはコンパイルされたコードで同一ですか?目的関数Cでの三項演算子とそれ以外の場合
つまり、スペースを節約する以外に、次のいずれかを使用する理由がありますか?
//First Option
Object *myObj = boolean ? trueValue : falseValue;
//Second Option
Object *myObj;
if (boolean) {
myObj = trueValue;
else {
myobj = falseValue;
}
配列メソッドは安全ではありません。真の値は厳密に1に制限されておらず、値はブール値の作成方法に依存します。 – Avi
@Avi Obj-Cが0以外の値をブール値trueとして解釈することは確かですが、すべての論理演算子は0または1を返す必要があります。ブール値の起源がわからないときは、二重の感嘆符のトリック、すなわち!!ブール値を適用することができる。 – dasblinkenlight