-1

我只是想知道这行代码是什么意思,因为我以前从未见过它。提前致谢

- (NSString *)suit
{
    return _suit ? _suit : @"?";  /* precisely this part */
}
4

3 回答 3

4

它只是一个调用suit返回 NSString 的函数。

如果 _suit 不为零(_suit ? _suit,则此函数将返回 _suit 执行此操作。

否则,它会返回@"?" (这样:@"?"做)。

(something ? somethingElse : somethingElseAgain) 仅表示如果某事为真,则返回 somethingElse,否则返回 somethingElseAgain。

换句话说,它是一种简单的内联方式来编写:

if (something) {
    return somethingElse;
}
else {
    return somethingElseAgain;
}
于 2013-03-20T05:48:31.140 回答
2
- (NSString *)suit
{
    if(_suit)
        return _suit;
    return @"?"
}
于 2013-03-20T06:01:58.637 回答
1

那就是三元运算符。它是简写

if (_suit)
    _suit;
else
    @"?";
于 2013-03-20T05:48:29.130 回答