在ObjC中编写条件赋值的简短方法

时间:2011-03-29 11:00:26

标签: objective-c

Objective-C是否有更短的编写这行代码的方法?

 a = b ? b : c;

也就是说,只要不ab nilc就等于||=。这就像Ruby的运算符{{1}}

2 个答案:

答案 0 :(得分:89)

以下是否适合您:

a = b ? : c;

(此语法是C的GNU扩展,因此您可能必须使用GCC而不是LLVM - http://gcc.gnu.org/onlinedocs/gcc-3.2.3/gcc/Conditionals.html#Conditionals)。

答案 1 :(得分:2)

这就像你在Objective-C中得到它一样短!那是一个很好的小测试。

我能提出的另一个简短方法如下(出于可读性原因,我不推荐它,它不像你的那么短!):

if (b) a = b; else a = c;