什么是“?” Objective-C中的符号意味着什么?

时间:2013-06-25 18:42:25

标签: objective-c properties setter getter

我正在学习用于ios编程的Objective C并且遇到了以下代码行 卡的属性的getter方法叫做诉讼:

-(NSString *)suit 
{
     return _suit ? _suit: @"?";
}

这应该返回“?”如果套装是零,但我不确定这条线是如何工作的。那是什么?在“return _suit?...”是什么意思?这段代码如何运作以及它是如何被计算机解释的?

3 个答案:

答案 0 :(得分:1)

这是三元运营商。您可以搜索该网站以了解更多信息。

基本上它意味着“如果”。

如果_suit不是nil,请返回_suit,否则返回@"?"。 (“否则”是在冒号之后)。

答案 1 :(得分:0)

它是ternary operator它是

的简短形式
if(_suit) {
   return _suit;
} else {
   return @"?";
}

答案 2 :(得分:0)

?三元运算符与if()... else ...非常相似吗?

(condition)?<value if true>:<value if false>

阅读以下内容:

Objective-C Tricks: #1 Ternary Operations
Objective-C ternary operator