我正在学习用于ios编程的Objective C并且遇到了以下代码行 卡的属性的getter方法叫做诉讼:
-(NSString *)suit
{
return _suit ? _suit: @"?";
}
这应该返回“?”如果套装是零,但我不确定这条线是如何工作的。那是什么?在“return _suit?...”是什么意思?这段代码如何运作以及它是如何被计算机解释的?
答案 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