web-dev-qa-db-fra.com

Syntaxe IF ELSE courte dans l'objectif C

Existe-t-il une syntaxe courte pour l'instruction if-else dans Objective C comme PHP:

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

version plus courte:

return $value?1:0;
33
Firdous

Oui.

Exemple (pseudo):

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

Basé sur votre exemple (code valide):

BOOL result = value ? YES : NO; 
110
Alladinian

C'est exactement le même dans les deux langues, sauf que vous ne trouvez généralement pas $ signe dans les noms de variables Objective-C.

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

Vous devez également garder à l'esprit que l'opérateur conditionnel ?: n'est pas un raccourci pour une instruction if-else autant qu'un raccourci pour une expression vraie vs fausse. Voir le manuel PHP .

13
BoltClock

Surpris que personne n'ait suggéré ce qui suit:

  • version longue:

    if(value)
        return 1;
    else
        return 0;
    
  • Petite version:

    return value;
    

Et si value n'est pas une variable bool, transtypez-la simplement: return (BOOL)value;

1
Erzékiel