web-dev-qa-db-ja.com

目的Cの短いIF ELSE構文

PHPのようなObjective Cのif-elseステートメントの短い構文はありますか?

if($value)
return 1;
else
return 0;

短いバージョン:

return $value?1:0;
33
Firdous

はい。

例(疑似):

value = (expression) ? (if true) : (if false);

例に基づいて(有効なコード):

BOOL result = value ? YES : NO; 
110
Alladinian

通常、Objective-Cの変数名に$記号が見つからないことを除き、両方の言語でまったく同じです。

if(value)
return 1;
else
return 0;
return value?1:0;

また、条件演算子?:はif-elseステートメントの短縮形ではなく、true式とfalse式の短縮形ではないことに注意してください。 PHPマニュアル を参照してください。

13
BoltClock

誰も以下を提案していないことに驚いた:

  • ロングバージョン:

    _if(value)
        return 1;
    else
        return 0;
    _
  • スモールバージョン:

    _return value;
    _

valuebool変数でない場合は、キャストしてください:return (BOOL)value;

1
Erzékiel