目标C中的短IF ELSE语法

时间:2012-03-21 13:15:06

标签: objective-c ios syntax if-statement

目标C中的if-else语句是否有任何简短的语法,如PHP:

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

更短的版本:

return $value?1:0;

3 个答案:

答案 0 :(得分:110)

示例(伪):

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

根据您的示例(有效代码):

BOOL result = value ? YES : NO; 

答案 1 :(得分:13)

两种语言中的完全相同,除非您通常在Objective-C变量名称中找不到$个符号。

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

您还应该记住,条件运算符?:不是if-else语句的简写,而是true和false表达式的简写。请参阅PHP manual

答案 2 :(得分:1)

对于没有人提出以下建议感到惊讶:

  • 长版:

    if(value)
        return 1;
    else
        return 0;
    
  • 小版本:

    return value;
    

如果value不是bool变量,只需投放它:return (BOOL)value;