繁体   English   中英

Objective-C语法问题

[英]Objective-C syntax issues

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

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

它只是一个名为suit的函数,它返回一个NSString。

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

否则,它将返回@“?” :@"?"这样做)。

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

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

if (something) {
    return somethingElse;
}
else {
    return somethingElseAgain;
}
- (NSString *)suit
{
    if(_suit)
        return _suit;
    return @"?"
}

那是三元运算符 它是速记

if (_suit)
    _suit;
else
    @"?";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM