0

我正在学习用于 ios 编程的 Objective C,并在名为 suit 的卡片属性的 getter 方法中遇到以下代码行:

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

这应该返回“?” 如果西装为零,但我不确定这条线是如何工作的。有什么作用?在“return_suit?...”中是什么意思?这段代码是如何工作的,它是如何被计算机解释的?

4

3 回答 3

1

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

基本上它的意思是“如果”。

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

于 2013-06-25T18:48:05.673 回答
0

它是三元运算符,它是

if(_suit) {
   return _suit;
} else {
   return @"?";
}
于 2013-06-25T18:47:53.167 回答
0

? 三元运算符的工作方式与 if()...else... 非常相似

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

阅读以下内容:

Objective-C 技巧:#1 三元运算
Objective-C 三元运算符

于 2013-06-25T18:48:07.787 回答